計算為什麼使用補碼,補碼到底是怎麼回事

2023-05-09 09:25:07 字數 3413 閱讀 6253

1樓:百毒千毒

我粗略一下,非大神不足之處還請指點:

使用補碼,是因為在計算的時候,你看到的加減乘除,其實計算機只有加法,無論減法還是乘除法都是通過,位運算(位移,位與。異或。進行加法計算的!

以補碼形式存在,這樣可以對其符號位和有效值位統一處理。

注意下你有時候看到的二進位制正數情況下,其實是省略掉符號位,以及無效位!

舉個列子(+9)你可能從控制檯看到是1001,假如以32位資料結構來說,他其實是。

0000-0000-0000-0000-0000-0000-0000-1001,他只是在給你輸出來的時候省略掉了!

另外追加一個知識,計算機是不認識這些,0,1的,他只認識高低電平,至於怎麼轉的,你可以自行看看!

2樓:做而論道

就是為了:簡化硬體,省錢。因為,負數,是可以用一個正數(補碼)代替的。

如: 24 - 1 = 23

24 + 99 = 一百) 23

忽略進位,用 +99 就可以代替-1。

99,就是-1 的補數。 計算機用二進位制,就稱為:補碼。

用補碼(正數)代替負數,那麼,計算機中,就沒有負數了。

因此,在計算機中,也就只有加法運算了。

所以,在計算機中,只需設定一個加法器,便可加減通吃了。

補碼+補碼算出來是什麼碼

3樓:伯升

補碼+補碼=原碼。

正數與正數相加,負數與負數相加,其實都可以通過加法器直接相加。原碼,反碼,補碼的產生過程,就是為了解決,計算機做減法和引入符號位(正號和負號)的問題。

補碼:最高位為符號位,0表示正數,1表示負數。

正數的補碼等於本身,負數的補碼等於反碼+1:

補碼的計算原則為:

1、 對於無符號數以及有符號數中的正數,其補碼就是原碼本身;

2、 對於有符號數中的負數,其補碼為真值絕對值的反碼加一,其中反碼為原碼按位取反。

4樓:做而論道

補碼+補碼,算出來的,還是補碼。

什麼是補碼,其補碼如何計算

5樓:小耳朵愛聊車

就比如-9補碼是11110111。

9的原始碼為00001001,如果是負數的話,補碼為最高位置1,其餘取反也就是11110110,然後在最低位加1即可即11110111。

計算機中的負數是以其補碼形式存在的補碼=原碼取反+1。

一個位元組有8位可以表示的數值範圍在-128到+127。用二進位制表示也就是10000000-01111111(注意:最高位表示符號)。最高位是1的都是負數最高位是0的都是正數。

6樓:做而論道

補碼,實際上,就是一個「代替負數」的正數。

使用了補碼之後,計算機中,就沒有負數了。

同時,也就沒有減法運算了。

計算機,只要配置一個加法器,就能橫行天下了。

這就是補碼的作用。

補碼(一個正數),怎麼就能代替負數呢?

想一想週期性的規律吧。

2 位 10 進位制數(0~99),計數週期就是 10^2=100。

可有: 25 - 1 = 24

25 + 99 = 一百) 24

你捨棄進位的 1,只保留 2 位數,+99 就能代替-1!

而且,加法,也能代替減法運算!

同樣,+98 也可以代替-2。

這些正數,就稱為「負數的補數」。

求補數的公式,顯然就是:

補數=負數+10^n

式中:n 是補數的位數。

10^n,是 n 位 10 進位制數的週期。

這公式,在三角函式中,也有雷同的表現。

三角函式,是以 2π 為週期的。

任何負角度,加上週期,就可以轉換為正角度。

如:x =-2,與其等效的正角度,即為:

x =-2 + 2π =3π/2

計算機用二進位制,補數,就稱為:補碼。

求負數的補碼,公式是:

補碼 = 負數 + 2^n

2^n,是 n 位 2 進位制數的計數週期。

對於 8 位 2 進位制數,週期就是

那麼,-1 的補碼就是 255 = 1111 1111 (二進位制)。

2 的補碼就是 254 = 1111 1110 (二進位制)。

128 的補碼就是 128 = 1000 0000 (二進位制)。

正數,不用轉換,也不許做任何轉換,必須直接去參加算。

所以,零和正數,並沒有補碼。

求補碼,不需要「符號位原碼反碼取反加一符號位不變」。

那一大堆步驟,並沒有什麼數學理論依據。

數學不好的老外,弄不懂週期,才用那些騷操作。

而且,原碼反碼,在計算機中,根本就不用!

忽悠大家學了一大堆,一丁點用處也沒有的。

補碼運算規則是什麼?

7樓:諾諾百科

對於正數,原碼反碼補碼都是一樣的,對於負數,不看符號位對於剩下求反。

就是把0變成1把1變成0,就是求反了,求反後+1再添上符號位。就得到了補碼,注意這裡符號位是不參與取反與+1的10000001

首位(符號位)是1,這個數位負數。

取反:11111110加1

11111111結果為-127

8樓:沙裡波特

計算機中,只有加法器。

藉助補碼,就不用做減法了。

乘除法,也是沒有意義的。

所以,補碼,只有加法運算。 按照:逢二進一,即可。

為什麼計算機中所有的數都用補碼錶示?

補碼,其實,它就是一個 代替負數 的正數。使用了補碼,計算機中,就沒有負數了,也就沒有減法了。那麼,計算機只需要一個加法器,就可以走遍天下了。為什麼使用補碼?就是為了簡化計算機的硬體。補碼 也就是正數 怎麼就能代表負數呢?其實,道理也很簡單。你看2 位 10 進位制數吧 25 99 一百 24 進位...

計算機中為什麼將反碼加一就得到了補碼?

正數 正數的反碼與原碼相同。負數 負數的反碼,符號位為 1 數值部分按位取反。例如 符號位 數值位。7 反 0 0000111 b 7 反 1 1111000 b 所以樓主再仔細看一下書,究竟00011010是 26的反碼,還是負數的反碼。特別規定 128的補碼為10000000,所以有符號位元組的...

到底是為什麼,基金到底是什麼?誰給我具體解釋一下

你好,請問你問的是什麼問題,什麼到底為什麼 人世間沒有無緣無故的愛,也沒有無緣無故的恨,沒有什麼那麼多為什麼,凡事有果就有因,你的那個到底是為什麼,要想想你的前因,有些是你造成的,有些是別人引起的,也許最終你想不通,但事實就是這樣,順其自然,平淡對待,你可能就釋然了 無非是為了權力,名利,女人嘛。問...