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