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.\n", num);
    printf("octal: %#o.\n", num);
    printf("hexa: %#x.\n", num);
    printf("hexa: %#X.\n", 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;\n", x, x, x);  //no prefix 
    printf("dec = %d; octal = %#o; hex = %#x\n", x, x, x);
    
    return 0;
}

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM