我们都知道,在使用printf输出整数时,可以选择输出的进制形式。
(要注意的是,打印二进制数并没有现成的格式,只能自行编写函数打印。)
int a=100;
printf("%b\n",a); //错误,没有二进制
printf("%o\n",a); //八进制
printf("%d\n",a); //十进制
printf("%x\n",a); //十六进制
同样的,对于一个整型的变量,我们也可以用不同的进制形式给其赋初始值。
int a=0b100; //二进制
int b=0100; //八进制
int c=100; //十进制
int d=0x100; //十六进制
同样是100这个值,默认是以十进制赋值的,二进制形式要在数值前加0b,八进制形式要在数值前加0,十六进制形式要在数值前加0x。