以十进制数163为例:
二进制的英文是Binary,简写为B或BIN,所以163 = 0b10100011(前面加上“0b”或“0B”)
八进制的英文是Octal,简写为O或OCT,所以163 = 0243(前面加上数字0,以示与十进制的区别)
十进制的英文为Decimal,简写为D或DEC,所以163 = 163(没有前缀)
十六进制的英文为Hexadecimal,简写为H或HEX,所以163 = 0xA3(前面加上“0x”或“0X”)
win10自带计算器:
代码:
#include <stdio.h>
int main(void) {
int a = 0b10100011; //二进制数字
int b = 0244; //八进制数字
int c = 0XA5; //十六进制数字
printf("八进制输出:\n"); //以八进制形似输出
printf("a=%o, b=%#o, c=%#o\n", a, b, c); //中间加上#,可以输出前缀
printf("十进制输出:\n"); //以十进制形式输出
printf("a=%d, b=%#d, c=%#d\n", a, b, c); //十进制没有前缀,加上没啥用
printf("十六进制输出:\n"); //以十六进制形式输出
printf("a=%x, b=%#x, c=%#X\n", a, b, c); //X大写,则输出的前缀和字母都大写
return 0;
}
运行结果:
参考文章:2.1 C语言中的进制数的表示