c語言二進制數
㈠ c語言中printf直接打出2進制數是%什麼16進制是什麼
C語言中,控制printf函數輸出格式的是格式字元,printf沒有直接打出2進制數的格式符,直接打出16進制的格式符是x格式符,即%x。
printf函數中輸出的格式為printf("<格式化字元串>", <參量表>),格式化字元串由格式控制、和輸出表列兩部分組成,其中格式控制包含格式聲明和普通字元。
格式聲明由「%」和格式字元組成,如%d、%f等。它的作用是將輸出的數據類型轉換為指定的格式然後輸出。普通字元是需要在輸出時原樣輸出的字元。
(1)c語言二進制數擴展閱讀
C語言printf函數格式字元:
1、%d,按整型數據的實際長度輸出。
2、%md,m為指定的輸出欄位的寬度。
3、%ld,輸出長整型數據。
4、o格式符,以八進制整型式輸出整數。
5、x格式符,以十六進制數形式輸出整數。
6、u格式符,用來輸出unsigned型數據,即無符號數,以十進制形式輸出。
7、c格式符,用來輸出一個字元。
8、s格式符,用來輸出一個字元串。
9、f格式符,用來輸出實數(包括單雙精度),以小數形式輸出。
10、e格式符,以指數形式輸出實數。
11、g格式符,用來輸出實數,它根據數值的大小,自動選f格式或e格式(選擇輸出是占寬度較小的一種),且不輸出無意義的零。
12、p格式符,用於變數地址的輸出。
13、%[scanfset]:
scanfset 有兩種形式:一種是以非 「^」 字元開頭的 scanset , 表示在讀入字元串時將匹配所有在 scanfset 中出現的字元,遇到非scanfset 中的字元時輸入就結束;
另外一種形式是以 「^」 字元開頭的scanfset ,表示在讀入字元串時將匹配所有不在scanfset 中出現的字元,遇到scanfset 中的字元輸入就結束。
㈡ C語言中格式輸出二進制的兩種方法
在我們日常的編程中,有時候需要格式化輸出一個整形數據的二進制,但是在我們C語言中只有輸出十進制:%d;輸出十六進制:%x;輸出單個字元:%c;輸出字元串:%s;輸出變數所在的地址:%p;而並沒有這種二進制對應的格式,所以需要我們手動來實現。
本篇博客給大家介紹兩種方法: 1.通過庫函數itoa,需要包含頭文件:#include ; 2.通過十進制轉成二進制的常用方法——短除法; 為方便大家使用,將兩種方法都封裝成了函數,源碼如下:
itoa函數原型:char *itoa( int value, char *string,int radix)
功能:將整形數據value轉化成需要的進制radix,然後將之以字元串的形式存放在string中;
返回值:轉化成對應進制後的字元串的地址,也可以不使用返回值;
它的三個參數依次為:
value:需要轉化的整形數據;
string:轉化成對應進制後的字元串的地址;
radix :需要轉化的進制(我這里需要轉化為2進制,所以填2);
(有圖有真相咯~)
這個是我創建的一個學習編程群:214574728,大家可以進群交流和討論