printf是格式化輸出函數,它可以直接打印十進制,八進制,十六進制,輸出控制符分別為%d, %o, %x, 但是它不存在二進制,如果輸出二進制,可以手寫,但是也可以調用stdlib.h里面的itoa函數,他不是標准庫里面的函數,但是大多數編譯器里面都有這個函數,所以就介紹一下
itoa函數的原型為char* itoa(int value, char * string, int radix); int value 被轉換的整數,char *string 轉換后儲存的字符數組int radix 轉換進制數,如2,8,10,16 進制等,
下面是測試程序:
1 #include <stdio.h> 2 #include <stdlib.h> 3 4 int main() 5 { 6 7 int a = 12; 8 printf("八進制 --> %o\n", a); 9 printf("十六進制 --> %X\n", a); 10 printf("十進制 --> %d\n", a); 11 char s[10]; 12 itoa(a, s, 2); 13 printf("二進制 --> %s\n", s); 14 itoa(a, s, 3); 15 printf("三進制 --> %s\n", s); 16 return 0; 17 }