進制整數、printf輸出進制整數、itoa函數

1,進制前綴

默認是十進制,沒有前綴

二進制 0b或者0B前綴

八進制 0前綴

十六進制 0x或者0X前綴

PS:C++好像沒有二進制,C語言很多地方也不認0b

int a=10,b=010,c=0x10,d=0X10,e=0b10,f=0B10;
printf("%d %d %d %d %d %d",a,b,c,d,e,f);

輸出:

10 8 16 16 2 2

PS:一般以小寫爲準,尤其是printf裏面,大寫的可能不認識

 

 

2,printf格式化輸出整數

%d十進制,%o八進制,%x十六進制

    int a=20;
    printf("%d %o %x",a,a,a);

輸出:

20 24 14

PS:printf無法輸出二進制

 

3,輸出帶前綴的整數

只需要把%換成%#即可

    int a=20;
    printf("%#d %#o %#x",a,a,a);

輸出:

20 024 0x14

 

4,itoa函數

把一個數,按照給定的進制轉化,並存到char數組中

itoa函數的第3個參數是進制數,有很多選擇,2到16進制都可以。

    int a=20;
    char s[20];
    itoa(a,s,2);
    printf("%s",s);

輸出:

10100

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章