C语言中数的二进制、八进制、十进制以及十六进制表示及输出

以十进制数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自带计算器:

C语言中数的二进制、八进制、十进制以及十六进制表示及输出_第1张图片

代码:

#include 

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;
}

运行结果:

C语言中数的二进制、八进制、十进制以及十六进制表示及输出_第2张图片

参考文章:2.1 C语言中的进制数的表示

你可能感兴趣的:(C语言,printf,程序设计,c语言)