c语言中的进制表示

本文介绍了C语言中不同进制的表示方法,包括八进制(前缀为0)、十进制、十六进制(前缀为0x)。对于二进制,文中提到C/C++标准未直接支持二进制字面量的表示。

就要开始找工作了,好些基础的东西都忘了。

c语言中各种进制表示方法:

二进制     据我所知,c/c++中没有二进制字面常量的表示方法(大概因为所有的数据本来就是以二进制存放的)

八进制     04567   注意是前面的是数字0

十进制     没啥说的。。。。。。什么?你不会写,你是火星人吧!

十六进制 0x9adf   注意0x前缀

在C语言中,整数可以使用不同的制表和输出。具体包括二制、八制、十进制和十六制。虽然C语言支持二制、八制和十六制的表示方式,但 `printf` 函数仅能直接输出八制和十六制形式,无法直接输出二制[^2]。 ### 不同制的表示方式 - **十进制**:默认的整数表示方式,例如 `int x = 102;`。 - **八制**:以数字 `0` 开头的整数常量被视为八制,例如 `int y = 012;` 表示制的 `10`(即十进制的 `10`)[^1]。 - **十六制**:以 `0x` 或 `0X` 开头的整数常量被视为十六制,例如 `int z = 0x1f;` 表示十六制的 `1f`(即十进制的 `31`)[^3]。 ### 使用 `printf` 输出不同制的数值 通过 `printf` 函数的不同格式说明符,可以控制整数的输出制: - `%d`:以十进制形式输出整数。 - `%o`:以八制形式输出整数(不带前导 `0`)。 - `%#o`:以八制形式输出整数,并带有前导 `0`。 - `%x`:以十六制形式输出整数,字母为小写。 - `%X`:以十六制形式输出整数,字母为大写。 - `%#x` 或 `%#X`:以十六制形式输出整数,并带有前缀 `0x` 或 `0X`[^3]。 ### 例代码 以下是一个完整的例程序,演如何输出不同制的数值: ```c #include <stdio.h> int main() { int x = 102; int y = 012; // 八制表对应十进制的10 int z = 0x1f; // 十六制表对应十进制的31 printf("x = %d\n", x); // 输出十进制 printf("y = %o\n", y); // 输出八制(无前导0) printf("y = %#o\n", y); // 输出八制(带前导0) printf("z = %x\n", z); // 输出十六制(小写字母) printf("z = %#x\n", z); // 输出十六制(带前缀0x) printf("z = %X\n", z); // 输出十六制(大写字母) printf("z = %#X\n", z); // 输出十六制(带前缀0X) return 0; } ``` ### 程序输出结果 ``` x = 102 y = 12 y = 012 z = 1f z = 0x1f z = 1F z = 0X1F ``` 该程序展了如何将整数以不同制的形式输出,并且可以通过格式说明符控制是否显前缀或大小写。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值