c语言中不同进制数的表示

1、

c语言中,计算机以不同的前缀表示计算机采用哪种进制的数显示数值。

0表示8进制数的前缀。

0x和0X都表示16进制数的前缀。

比如十进制数16使用8进制数表示是020。(2乘以8的1次方)。

十进制数16使用16进制数表示是0x10。(1乘以16的1次方)。

在程序中,8进制数的转换说明是%#o, 16进制数的转换说明是%#x或者%#X。

测试程序如下:

#include <stdio.h>

int main(void)
{
    int num = 16;
    
    printf("decimal: %d.
", num);
    printf("octal: %#o.
", num);
    printf("hexa: %#x.
", num);
    printf("hexa: %#X.
", num);
    
    return 0;
}

2、在显示8进制和16进制数的时候,也可以不加进制说明的前缀, 比如省略8进制的前缀0,16进制的前置0x;

#include <stdio.h>

int main(void)
{
    int x = 100;
    
    printf("dec = %d; octal = %o; hex = %x;
", x, x, x);  //no prefix 
    printf("dec = %d; octal = %#o; hex = %#x
", x, x, x);
    
    return 0;
}

原文地址:https://www.cnblogs.com/liujiaxin2018/p/15004459.html