本文目錄一覽:
C語言中printf直接打出2進位數是%什麼?16進位是什麼?
C語言中,控制printf函數輸出格式的是格式字元,printf沒有直接打出2進位數的格式符,直接打出16進位的格式符是x格式符,即%x。
printf函數中輸出的格式為printf(“格式化字元串”, 參量表),格式化字元串由格式控制、和輸出表列兩部分組成,其中格式控制包含格式聲明和普通字元。
格式聲明由「%」和格式字元組成,如%d、%f等。它的作用是將輸出的數據類型轉換為指定的格式然後輸出。普通字元是需要在輸出時原樣輸出的字元。
擴展資料
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語言中怎樣輸出一個二進位的數?
//我們用按位運算符:右移 和按位運算符與^,這兩個功能就可以實現。
#includestdio.h
void printBinary(int number);//這是聲明一個自定義的函數,讓編譯器知道我們造了一個這麼個函數,功能:將整數以二進位形式輸出。
int main()
{
printBinary(22);//括弧裡面可以填上你要輸出的整數,比如要輸出22的二進位形式
return 0;
}
void printBinary()//自定義一個函數printBinary
{
int temp = sizeof(number)-1;// 定義一個變數 :如果你的編譯器是32位的,也就是int temp = 31;
while(temp = 0) // temp 是循環的次數,不需要糾結判斷是= 還是, 寫完之後檢驗一下就知道哪個對了。
int value = numbertemp^1;// atemp。temp移動後,是把這個整數的二進位形式中最後一位,依次與1進行按位與運算。假如temp=31,就是把這個整數的二進位形式右移31位,只剩下了這個整數的二進位形式的開頭第一個數字,然後與1進行按位與運算。真則為1,假則為0。
printf(“%d”, value);//每次輸出整數的二進位形式的一個數字,從開頭開始輸出。.
temp–;// 按位右移循環,直到把整數內存中所有的位移完畢。從內存中二進位形式的第一位開始。
}
如何在c語言中輸出二進位數???
可以用
%x格式
輸出16進位數,16進位一位拉4位,按8421分布,就是2進位數。1個位元組正好用2位16進位表示,轉為8位2進位。
C語言中怎麼輸出數據的二進位
C語言中,默認支持16進位的數據輸出,其實這個就是一個更容易閱讀的二進位顯示。
C語言的標準庫,沒有二進位輸出函數,需要自己寫,寫法主要有兩種:
1.
除以2和對2取餘數的循環;
2.
位移操作和位與()操作;
第二種效率高些:
int dat = 12345;
int ibit = 0x01;
for(int i=31;i=0;i–){
a[i] = (dat ibit)==0 ? 0,1;
ibit 1;
}
for(i=0;i32;i++)
printf(“%d”,a[i]);
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/183409.html