二進位制如何表示負數啊負數用二進位制怎麼表示呀?

2021-03-09 05:00:27 字數 5362 閱讀 5093

1樓:仁昌居士

在二進位制碼中,採用最高位是符號位的方法來區分正負

數,正數的符號位為0、負數的符號位為1。剩下的就是這個數的絕對值部分。通過將負數轉為二進位制原碼,再求其原碼的反碼,最後求得的補碼即負數的二進位制表示結果。

比如整數-1。先取1的原碼:00000000 00000000 00000000 00000001,得反碼:

11111111 11111111 11111111 11111110,最後得補碼: 11111111 11111111 11111111 11111111,即-1在計算機裡用二進位制表示結果。

2樓:大神真是太美了

二進位制表示負數方法:用位元組的最高位表示:"0"表示"負" 。負數是以補碼的形式表示的。

例如:如果是一個8位的有符號整數,這個二進位制數應該表示為00001101,最高一位是符號位。

負數的話,先置符號位為1,剩下的位按位取反,末位加1,最後的結果是11110011。

負數表示二進位制的方法:

3樓:為伱鎖鈊

在計算機中,負數以其正值的補碼形式表達,方法為其絕對值求反加一。

例如 -100的絕對值為100

100原碼:1000 0000 0110 0100100反碼:1111 1111 1001 1011100補碼:

1111 1111 1001 1100=1111 1111 1001 1011(反碼) +1

所以-100二進位制表示為:1111 1111 1001 1100原碼:一個整數按絕對值大小轉換成的二進位制數稱為原碼;

反碼:將二進位制數按位取反,所得的新二進位制數稱為原二進位制數的反碼;(取反操作:1變0,0變1)

補碼:反碼加1稱為補碼。

4樓:匿名使用者

一般用補碼方式表示,舉例說明:

-52,假設儲存的資料是8位二進位制數

,即8位二進位制補碼

先將52轉換成二進位制數:00110100b取反:11001011b

加1:11001100b

則-52d的8位二進位制補碼為11001100b如果已知11001100b是有符號數,因為最高位是1,則這個碼是用補碼錶示的一個負數

11001100b減1=11001011b取反=00110100b=52d

則可知:11001100b是-52d的補碼錶示

5樓:貝馬

在2進位制

面前加「0」即為表示負數,但是需要滿足4為或是8位,如果不足的需用補齊0

例如:10進位制:2; 2進位制: 1010進位制:-2; 2進位制:0010,此數需補足4位,所以不是010,而是0010

如果多出4位,則擴充套件位8位,並在首位加「0」例如10010的負數為00010010

6樓:浪淘沙

二進位制 無符號 有符號

000 0 0001 1 1010 2 2011 3 3——————————————————————————100 4 -4101 5 -3110 6 -2111 7 -1所以3位二進位制可以表示無符號的整數範圍:0~7,有符號的整數範圍:-4~3。

4位二進位制可以表示無符號的整數範圍:0~15,有符號的整數範圍:-8~7。

8位二進位制可以表示無符號的整數範圍:0~255,有符號的整數範圍:-128~127。

其他以此類推。

7樓:匿名使用者

在計算機中,負數以其正值的補碼形式表達。

反碼錶示法規定:正數的反碼與原碼相同,負數的反碼為對該數的原碼除符號位外各位取反。

補碼錶示法規定:正數的補碼與原碼相同,負數的補碼為對該數的原碼除符號位外各位取反,然後在最後一位加1.

8樓:祝小偉

上面說的是錯的!0表示「+」,1表示「-"

9樓:程式設計師的每一天

c語言中二進位制的表示方法

負數用二進位制怎麼表示呀?

10樓:匿名使用者

在二進位制碼中,為了區分正負數,採用最高位是符號位的方法來區分,專正數的符號位為0、負數屬的符號位為1。剩下的就是這個數的絕對值部分,可以採用原碼、反碼、補碼3種形式來表示絕對值部分。

原碼最簡單,也最好理解。原碼就是絕對值的二進位制數形式:例如+7的8位二進位制原碼是00000111,-7的8位二進位制原碼是10000111。

但對於二進位制運算而言,原碼的運算不夠方便,當兩個數相加時,先要判斷這兩個數的符號是否相同,符號不同的話,還要判斷哪一個數的絕對值更大。所以在計算機中,通常都是採用補碼形式。

正整數的補碼與原碼形式相同,例如+7的8位二進位制補碼是00000111;而負整數的補碼則可以通過下列方式得到:將這個負整數的絕對值求反加1,連同符號位1一起表示就可以了。例如-7的8位二進位制補碼:

將-7的絕對值7求反加1得1111001,連同符號位1一起就是11111001。

你也可以練習一下+13和-13的8位二進位制補碼:+13d=00001101,-13d=11110011。

11樓:孝渺何永怡

答案:1000000010000000是-128的補碼錶示覆,原碼和反碼能表制示的範圍是-127

~127,不能表示-128。8位二進位制的表示法的資料範圍:

原碼:-127

~127

反碼:-127

~127

補碼:-128

~127

12樓:匿名使用者

在計bai算機中,負數du以其正值的補碼形zhi式表達。

負數源資料不管dao符號的正值稱為原碼,對版其進行取反,取反後的權資料稱為反碼。比如原來資料為-5,先不管其符號,將原資料正值(二進位制)5為00000101,取反後的反碼為11111010.

對反碼加1.  11111010+1=11111011,此值即為-5的二進位制表示。

13樓:冷枯竹

-7的二進位制 1000 0111

-13的二進位制1000 1101

一個數你可以把它當成是正數, 也可以把它當成是負數, 就看你的需要了在有符號數中二進位制最高位是1的就是負數, 0就是正數

14樓:沙裡波特

舉個例子,

-7二進位制是多少?=====  -111。

-13二進位制是多少?===== -1101。

怎麼算得的?======= 除二取餘。

15樓:北極雪

用補碼copy來表示二進位制的負數。具體例項如下:1、首先,來個-5,把5轉化為二進位制位元組形式。

得到101,然後補零。2、這個時候,原碼就出來了。然後,取反(0的變成1,1的變成0。

)(一個整數按照絕對值大小轉換成的二進位制數,是為原碼。原碼就上面的:00000101。

)。3、得到了反碼,反碼是和原碼反著來的。然後,加一。

反碼加一叫補碼。4、補碼就是負數在計算機中的二進位制表示方法。那,11111011表示8位的-5,如果要表示16位的-5 ,在左邊添上8個1即可。

5、那,知道一個負數,求二進位制數的方法已經知道了,如果知道一個二進位制數,怎麼求其十進位制數呢(對負數)隨便來個負數的二進位制數。6、先減一,反著上面的方法來。上面最後是加一,那現在就減一。

7、取反。上面是取反了,這裡也取反。那,接下來就是計算了。

計算結果是13,那麼這個二進位制數就是:-13。8、那,接下來就是計算了。

計算結果是13,那麼這個二進位制數就是:-13。9、那,用計算器來驗證一下。

其實負數的:十進位制變二進位制:原碼--反碼--加一(補碼)。

二進位制變十進位制:減一--反碼--原碼。

二進位制數的正負如何表示?

16樓:我的宿舍

看二進位制數左數第一位(即最高位):

用0表示非負數,

用1表示負數,

負數通常不用原碼錶示,而是用補碼來表示原碼,負數原碼的補碼是原碼的符號位不變,其餘位按位取反再加1所得。

二進位制是計算技術中廣泛採用的一種數制。二進位制資料是用0和1兩個數碼來表示的數。它的基數為2,進位規則是「逢二進一」,借位規則是「借一當二」。

二進位制數(binaries)是逢2進位的進位制,0、1是基本算符;計算機運算基礎採用二進位制。電腦的基礎是二進位制。在早期設計的常用的進位制主要是十進位制(因為我們有十個手指,所以十進位制是比較合理的選擇,用手指可以表示十個數字,0的概念直到很久以後才出現,所以是1-10而不是0-9)。

電子計算機出現以後,使用電子管來表示十種狀態過於複雜,所以所有的電子計算機中只有兩種基本的狀態,開和關。也就是說,電子管的兩種狀態決定了以電子管為基礎的電子計算機採用二進位制來表示數字和資料。常用的進位制還有8進位制和16進位制,在電腦科學中,經常會用到16進位制,而十進位制的使用非常少,這是因為16進位制和二進位制有天然的聯絡:

4個二進位制位可以表示從0到15的數字,這剛好是1個16進位制位可以表示的資料,也就是說,將二進位制轉換成16進位制只要每4位進行轉換就可以了。

17樓:匿名使用者

在計算機的資料表示中只定義了正數的表示形式,並沒有定義負數的表示形式,所以,負數一般都用補碼的形式表示,正數的原碼、反碼、補碼都相同,負數的反碼是除符號位為1外,其它位全取反,補碼就是"反碼+1"。我知道就這麼多了,希望能幫到你。

18樓:匿名使用者

1,你的兩個問題,第一個嘛,比如 1110100 ,佔一個位元組,可以看作是一個無符號的數,就是228,也可以看作是有符號的數,就是-12。可以看第二個是正確的,負數是以補碼形式儲存的,結果就是所有負數的最高位為1,但你要注意,一個正數的相反數,絕對不是把最高位的0變成1這麼簡單,得轉換為補碼。2,儲存的最小單位是位元組,當然不能小於8位呢。

19樓:匿名使用者

1,這個不一定.看你如何看待了.比如最高位為1我可以看作負數,也可以當作正數.2,一般是這樣的.

20樓:匿名使用者

針對第一個問題:對。任何數在記憶體中都是以補碼的形式存在(其中正整數:

原碼=反碼=補碼;負整數:原反碼=原碼(最高位不變,其餘按位取反);補碼=反碼+1)。 針對第二個問題:

如果不滿八位,系統肯定是補足八位。對於正整數而言,最高位全部填滿0.對於負整數而言,按照「原反碼=原碼(最高位不變,其餘按位取反);補碼=反碼+1」原則發生變化:

比如-5的儲存: 【因為-5表示是:1000 0101(原碼)=>1111 1010(反碼)=> 1111 1011(補碼,儲存的就是這個)】

二進位制的負數如何算,二進位制的負數如何算?

在二進位制碼中,採用最高位是符號位的方法來區分正負數,正數的符號位為0 負數的符號位為1。剩下的就是這個數的絕對值部分。通過將負數轉為二進位制原碼,再求其原百碼的反碼,最後求得的補碼即負數的二進位制表示結果。比如整數 1。先取1的原碼 00000000 00000000 00000000 00000...

二進位制數為什麼不是負數?二進位制中的負數怎麼表示

二進位制小數的位權都是2的負整數次冪,即階數為負數。例如二進位制小數,轉換成十進位制小數 二進位制數 二進位制數除法與十進位制數除法很類似,可先從被除數的最高位開始,將被除數 或中間餘數 與除數相比較,若被除數 或中間餘數 大於除數,則用被除數 或中間餘數 減去除數,商為1,並得相減之後的中間餘數,...

二進位制數字怎麼表示二進位制數字表示

2 輸入預處理命令和主函式 由於空格數容易輸錯,建議直接複製貼上 輸入 include 輸入輸出標頭檔案 void main 空型別 主函式 3 定義變數和陣列的資料型別並輸入一個十進位制 int b 16 x,k,r,i 定義變數和陣列的資料型別為整型 printf 輸入一個十進位制 輸出文字提示...