本文目錄一覽:
c語言二進制表示
負數在計算機里一般用補碼錶示:
最高位是符號位,其餘位為數字的原碼取反+1
假設是8位機系統 (當然現在是32位或是64位機):
xxxx xxxx – 8位
1xxx xxxx – 最高位為符號位,負數為1,正數為0
x000 0001 – 拋開最高位不看,剩下的7位為1的原碼。
合成之後:
1000 0001 則是-1的原碼錶達形式。
接下來對取反(最高位符號位是保持不變):
1111 1110
再加一得到:
1111 1111 – 最終的補碼錶達形式,既二進制的 -1。
參考:
C語言二進制怎麼表示?
c語言中沒有二進制的格式輸出符號. 可以用itoa函數很方便的將一個10進制int轉變成二進制字符串。
c語言中2進制怎麼表示?符號是什麼?
沒有,通常做位運算的時候都是寫成16進制的,沒見過直接表達成二進制的
c語言中二進制怎麼表示
C語言中並沒有二進制表示方法
只有16進制 8進制和10進制
一般用16進制和十進制比較多。
要二進制輸出 需要自己寫函數。
C中如何表示一個數是2進制
數據在內存中以二進制補碼形式存放!之所以用二進制存放是因為計算機容易識別二進制數,只有0和1表示,編碼譯碼速度塊,存取速度塊。
我們熟悉的10進制、8進制、16進制數,表示起來都不是很長,如十進制數20,表示成8進制是24,表示成16進制是14,而表示成二進數(最短的是八位)是00010100。可見,二進制數書寫起來比較困難,你想想,你想輸入一個數值是20的數,你是想輸20、24、14、00010100中的哪一個?顯然,如果不是特殊的要求,我想我們都不會選擇輸入00010100吧。
基於此,C語言沒有給你提供輸入二進制數的格式控制符,不像10進制、8進制、16進制一樣有%d、%o、%x這樣的輸入控制符。也就是說,你不能直接輸入輸出二進制數!
但是,C語言同樣可以表示二進制數,因為數據在內存中都是以二進制數存儲的,你想想,存都存的是二進制,還不能表示二進制數嗎?只是數據的存儲方式你看不到,但是假如你想看到一個數的二進制數,同樣可以簡單的實現。
請看程序,它就是把num這個數輸出成二進制形式:
#includestdio.h
#include stdlib.h
void main()
{
int num;
char str[33];
printf(“請輸入整數num: “);
scanf(“%d”,num);
itoa(num,str,2);
printf(“%d的二進制形式是%s\n”,num,str);
}
原創文章,作者:SFQM,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/150034.html