計算機中負數是以補碼形式存在的,有符號情況下怎麼判斷八位

2021-04-08 23:57:57 字數 6058 閱讀 8357

1樓:su彧

現在的計算機中,抄都是高、低電平,是電壓訊號。

但是,通常是用二進位制數,來表示。

這些二進位制數,有些人,就把它們,想像成補碼,用來代表有符號數。

其實,並非所有的人,都是這麼想的。

比如:mov al, 3

add al, -125

結果,al = 1000 0110b。

你可以把它理解成-122,也可以認為是134。

------

就是說,計算機中,都是二進位制數,這是肯定的。

是不是補碼 ?這就要看《人》了。

誰願意說是補碼,就由他們說去,不用跟他們較真。

其實,絕大多數,都不是補碼。

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

2樓:匿名使用者

在二進位制碼中,為了區分正負數,採用最高位是符號位的方法來區分,專正數的符號位為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。

3樓:孝渺何永怡

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

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

原碼:-127

~127

反碼:-127

~127

補碼:-128

~127

4樓:匿名使用者

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

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

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

5樓:冷枯竹

-7的二進位制 1000 0111

-13的二進位制1000 1101

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

6樓:沙裡波特

舉個例子,

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

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

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

7樓:北極雪

用補碼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、那,用計算器來驗證一下。

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

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

二進位制如何表示負數啊

8樓:仁昌居士

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

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

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

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

9樓:大神真是太美了

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

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

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

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

10樓:為伱鎖鈊

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

例如 -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稱為補碼。

11樓:匿名使用者

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

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

,即8位二進位制補碼

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

加1:11001100b

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

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

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

12樓:貝馬

在2進位制

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

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

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

13樓:浪淘沙

二進位制 無符號 有符號

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。

其他以此類推。

14樓:匿名使用者

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

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

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

15樓:祝小偉

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

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

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

二進位制負數的補碼

17樓:做而論道

計算機裡面,只有加法器,沒有減法器,所有的減法運算,都必須用加法進行。

即:減去某個數字(或者說加上某個負數)的運算,都應該研究如何用加法來完成。

模、補數

在日常生活當中,可以看到很多這樣的事情:

把某物體左轉 90 度,和右轉 270 度,在不考慮圈數的條件下,最終的效果是相同的;

把分針倒撥 20 分鐘,和正撥 40 分鐘,在不考慮時針的條件下,效果也是相同的;

把數字 87,減去 25,和加上 75,在不考慮百位數的條件下,效果也是相同的;

……。上述幾組數字,有這樣的關係:

90 + 270 = 360

20 + 40 = 60

25 + 75 = 100

式中的 360、60 和 100,就是「模」。

式中的 90 和 270、20 和 40,以及 25 和 75,就是一對對「互補」的數字。

知道了「模」,求某個數字的「補數」,就是輕而易舉的了:

如果模為 365,數字 120 的補數為:365 - 120 = 245。

用補數代替原數,可把減法轉變為加法。出現的進位就是模,此時的進位,就應該忽略不計。

二進位制數的模

前面說過的十進位制數 25 和 75,它們是 2 位數的運算,模是 100,即 1 的後面加上 2 個 0。

如果有 3 位數參加運算,模就是 1000,即 1 的後面加上 3 個 0。

這裡的 1000,是十進位制數的一千,可以寫成 10^3,即 10 的 3 次方。

推論:有多少位數參加運算,模就是在 1 的後面加上多少個 0。

對於二進位制數字,模也是這樣推算。

如果是 3 位二進位制數參加運算,模就是 1000,即 1 的後面加上 3 個 0;

那麼當 8 位二進位制數參加運算,模就是 1 0000 0000,即 1 的後面加上 8 個 0。

16 位二進位制數參加運算,模可就大了,是 1 的後面加上 16 個 0。

注意:這裡提到的 1、0,都是二進位制數。

8 位二進位制數的模可以按照十進位制寫成 2^8,即 256。

16 位數二進位制數的模,就是 2^16,按照十進位制,它就是 65536。

二進位制數的補碼

求二進位制數的補數,目的是往計算機裡面存放。

在計算機裡面,存放的數字什麼的,都稱為機器碼;那麼二進位制形式的補數,也就改稱為補碼了。

一般情況下,都是以 8 位二進位制數來討論補碼,少數也有用 16 位數的。

計算時加上正數,是不需要進行求取補數的;只有進行減法(或者加上負數),才需要對減數求補數。

補碼就是按照這個要求來定義的:正數不變,負數即用模減去絕對值。

已知一個數 x,其 8 位字長的補碼定義為:

/ x 0 <= x <= +127 ;正數和0的補碼,就是該數字本身

[x]補 = |

\ 2^8 -|x| -128 <= x < 0 ;負數的補碼,就是用 1 0000 0000,減去該數字的絕對值

例如 x = -126,其補碼為 1000 0010,計算方法如下:

1 0000 0000

- 0111 1110

-----------

1000 0010

可以看出,按照補碼的定義來求補碼,概念十分清晰,方法、步驟也是十分簡單的。

計算機中原碼反碼補碼之間的關係,計算機的原碼,反碼,補碼是怎麼回事?可以舉例說明嗎

原碼 就是原碼,真實的碼 反碼 在原碼的基礎上,符號位不變,數值位按位取反補碼 1 正數的補碼 與原碼相同。例1 9的補碼是00001001。2 負數的補碼 符號位為1,其餘位為該數絕對值的原碼按位取反然後整個數加1。計算機的原碼,反碼,補碼是怎麼回事?可以舉例說明嗎?原碼 反碼和補碼是計算機中對 ...

計算機中的URL是什麼,計算機中「URL」是指什麼?

url 統一資源定位符 計算機中 url 是指什麼?url是uniform resource locator的英文縮寫。中文意思是 統一資源定位符 在計算機中 url 是指 是用於完整地描述internet上網頁和其他資源的地址的一種標識方法。統一資源定位符,也被稱為網頁地址,是因特網上標準的資源的...

計算機中關於帶符號整數的反碼 補碼 真值和原碼

原碼 是指將最高位作為符號位 0表示正,1表示負 其它數字位代表數值本身的絕對值的數字表示方式。例如 數字6 在計算機中原碼錶示為 0 000 0110 其中,第一個數字0是符號位,0表示正數,0 000110是數字6的二進位制資料表示。數字 6 在計算機中原碼錶示為 1 000 0110 以上是在...