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