目录
我们处理的整数通常用十进制表示,在计算机内存中是以二进制补码形式存储,但通常二进制表示的整数比较长,为了便于在程序设计过程中理解和处理数据,通常采用八进制和十六进制,缩短了二进制补码表示的整数,但保持了二进制数的表达特点。所以理解和掌握进制的转换和使用尤为重要
?
注意事项
C语言中没有专门的八进制变量类型和十六进制变量类型,八进制变量和十六进制变量实际上是以十进制形式表示的整数。
在C语言中,只有在定义变量时才能使用八进制表示法和十六进制表示法,在其他情况下,如果没有特殊要求,八进制数和十六进制数会被自动转换成十进制数来表示。
- 输出八进制整数的格式控制符为 %o(注意是字母o)
- 输出十六进制整数的格式控制符为 %x 或者 %X (小写x和大写X分别表示小写格式和大写十六进制)
- 八进制和十六进制默认输出时是不带进制符号的(0 0x 和 0X),如果想要输出时带上进制符号,需要在百分号后面加上 # 标志,如%#o 表示输出带符号的八进制数字
例子——输出1234的八进制和十六进制形式(带进制符号)
#include<stdio.h>
int main()
{
printf("八进制形式为 %#o\n", 1234);
printf("十六进制形式为 %#x\n", 1234);
printf("十六进制形式为 %#X\n", 1234);
return 0;
}
?
?
- C语言中默认整数是十进制数字,如果想要表示一个数字在出现的时候是八进制,需要写成0+数字的形式,比如下面的例子就要写成01234
- 输出十进制整数的格式控制符为 %d 或? ?%u(只有正数的整型)
- 输出十六进制整数的格式控制符为 %x 或者 %X (小写x和大写X分别表示小写格式和大写十六进制)
- 十六进制默认输出时是不带进制符号的(?0x 和 0X),如果想要输出时带上进制符号,需要在百分号后面加上 # 标志,如%#0x?表示输出带符号的十六进制数字
例子——输出八进制01234的十进制和十六进制形式(带进制符号)
#include<stdio.h>
int main()
{
printf("十进制形式为 %#d\n", 01234);
printf("十六进制形式为 %#x\n", 01234);
printf("十六进制形式为 %#X\n", 01234);
return 0;
}
?
?
- C语言中默认整数是十进制数字,如果想要表示一个数字在出现的时候是十六进制,需要写成0x+数字或者0X+数字的形式,比如下面的例子就要写成0x1234
- 输出八进制整数的格式控制符为 %o(注意是字母o)
- 输出十进制整数的格式控制符为 %d 或? ?%u(只有正数的整型)
- 八进制和十六进制默认输出时是不带进制符号的(0 0x 和 0X),如果想要输出时带上进制符号,需要在百分号后面加上 # 标志,如%#o 表示输出带符号的八进制数字
?例子——输出十六进制0x1234的八进制和十进制形式(带进制符号)
?
#include<stdio.h>
int main()
{
printf("八进制形式为 %#o\n", 0x1234);
printf("十进制形式为 %#d\n", 0x1234);
return 0;
}
?
如果我的文章对您有所帮助,就点个赞支持一下呗