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,所以有符號位元組的...
到底是為什麼,基金到底是什麼?誰給我具體解釋一下
你好,請問你問的是什麼問題,什麼到底為什麼 人世間沒有無緣無故的愛,也沒有無緣無故的恨,沒有什麼那麼多為什麼,凡事有果就有因,你的那個到底是為什麼,要想想你的前因,有些是你造成的,有些是別人引起的,也許最終你想不通,但事實就是這樣,順其自然,平淡對待,你可能就釋然了 無非是為了權力,名利,女人嘛。問...