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