1樓:巨集蒼蘭涵亮
在計算機中,負數以其正值的補碼形式表達。
什麼叫補碼呢?這得從原碼,反碼說起。
原碼:乙個整數,按照絕對值大小轉換成的二進位制數,稱為原碼。比如。
是。5的。原碼。反碼:將二進位制數按位取反,所得的新二進位制數稱為原二進位制數的反碼。
取反操作指:原為1,得0;原為0,得1。(1變0;
0變1)比如:將00000000
00000101每一位取反,得11111111
稱:是。的反碼。反碼是相互的,所以也可稱:
和。互為反碼。補碼:反碼加1稱為補碼。
也就是說,要得到乙個數的補碼,先得到反碼,然後將反碼加上1,所得數稱為補碼。比如:
的反碼是:那麼,補碼為:
所以,-5在計算機中表達為:
11111011。轉換為十六進製制:0xfffffffb。
再舉一例,我們來看整數-1在計算機中如何表示。
假設這也是乙個int型別,那麼:
1、先取1的原碼:00000000
2、得反碼:
3、得補碼:
可見,-1在計算機裡用二進位制表達就是全進製為:0xffffff。
按位取反:01111111加1
沒有溢位,因為沒有別的數用10000000來表示。這都是定義好的,記住就是了。
2樓:沙里波特
正負數,在計算機中存放的格式,就是補碼。
計算機中,並沒有原碼和反碼,也就不必關心它們了。
下面,針對補碼,給出解釋。
比如,有乙個小孩,很小的。
他只認識 100 個數(0~99),也不會做減法。
那麼,就可以告訴他:「減一」,就用「加 99」算吧。
忽略進製的 100,結果不是一樣的嗎?
那麼,就是說:
99,就是-1 的補數。
98,就是-2 的補數。
利用「補數」,就可把「減法」轉為「加法」。
利用這個特點,計算機中,僅需乙個「加法器」,就夠用了。
在計算機中,是以二進位制存放正負數的,就稱為:補碼。
3樓:帛釗韶爾風
負數補碼求法:一種簡單的方式,符號位保持1不變,數值位從右邊數第乙個1及其右邊的0保持不變,左邊安位取反。
另外一種方法,數值位按位取反,末位加1,符號位保持不變。
的補碼。
4樓:做而論道
所謂【補碼】,就是乙個【代替負數進行運算的正數】。
而正數,不需要用誰來代替,直接就可以運算。
所以,正數,它就沒有補碼!
先用十進位制來解釋,比較容易理解。
25+99=(一百) 24
如果捨棄進製,那麼,-1,就可以用正數99代替、減法也就可以用加法實現了。
這個正數(99),就是負數(-1)的補數。
在這裡,用的是【兩位】十進位制,計數週期就是 10^2 = 100。
-1 的補數 +99 是怎麼算出來的?
顯然就是:【-1+週期】。
八位二進位制,計數週期是 2^8 = 256。
那麼,-1 的補碼就是:
-1+256 = 255 = 1111 1111(二進位制)。
同理:-2 的補碼,就是:-2 + 256 = 1111 1110;
-3 的補碼,就是:-3 + 256 = 1111 1101;
-128 的補碼,就是:-128 + 256 = 1000 0000。
求補碼的通用公式:[x]補 = x + 計數週期。
補碼,就是補碼,和原碼反碼,都沒有任何關係。
利用補碼,可以節省乙個減法器,而原碼反碼都不具備這種功能。
所以,在計算機中,只是使用補碼,並不用原碼和反碼。
那麼,原碼和反碼有什麼用呢?
那就是計算機老師,捧在手裡的乙個碗。。。
計算機中補碼的意義和演算法
5樓:旗佑孝婉秀
負數時。
主要是正負數的時候。按正常的想法是只要符號位為1時即為負數,但是這種方法來計算得先計數它們的絕對值,然後才好進行加減等操作。
引入補碼。後,就解決了這一問題。
負數的補丁是。
取反後+1
6樓:沙里波特
意義:簡化演算法、簡化硬體。
演算法:就是二進位制唄。
什麼時候用補碼?
當你需要的時候,你就用補碼。
補碼的作用是什麼?
代替負數。為什麼在計算的時候還要+1或-1?
當你需要加。
一、減一時,你就這麼算吧。
計算機補碼是什麼
補碼在計算機系統中有什麼重要作用
7樓:沙里波特
計算機中補碼的作用,要從常識中「補數」來理解。
對於鐘錶,倒撥 3 小時,可以用正撥 9 小時來代替。
對於兩位十進位制數,共有 100 個數:0~99。
減一,就可以用 +99 代替。
如:28-1 = 27
忽略 100,結果就相同了。
那麼,9 就是-3 的補數、99 就是-1 的補數。
補數,就是用數值較大的正數,代替負數。
利用補數,就可以用加法,代替減法運算。
補碼,就是二進位制形式的補數。
計算機中八位補碼,共有 256 種組合。
那麼,負數的補碼就是:256 + 這個負數。
那麼,數字-1 的補碼就是:1111 1111 = 255(十進位制)。
同理,數字-2 的補碼就是:1111 1110 = 254。
最終,數字-128 的補碼就是:1000 0000 = 128。
求補碼,並不需要原碼反碼。
計算機中,根本也沒有原碼反碼。
原碼反碼,是毫無用處的東西。
用補碼代替負數,就可用加法代替減法運算。
計算機中,只要具有加法器,就夠用了。
這就可以簡化計算機系統的硬體。
8樓:匿名使用者
通過原碼可以很便捷的實現將現實世界中的數值轉換為二進位制01序列儲存在計算機中,但原碼對於計算機中01序列數值的加減法運算難以高效支援。所以為了運算需要,必須要將數值以補碼形式儲存在計算機中,補碼有三個重要意義:
補碼可以很方便的將減法運算轉換為加法運算,硬體實現上,就只需要乙個加法器即可完成加減法運算,無需再設計生產減法器。
補碼加減法運算中,可以將符號位無差別的看成是數值,直接參與運算,最終得到的結果中最高位仍按符號位理解,並且計算結果無誤。
補碼消除了正負零的干擾,使得示數範圍朝負方向上擴充套件一位,如將原碼-127到+127的範圍,擴充套件為-128到+127.
9樓:匿名使用者
計算機中的符號數有三種表示方法,即原碼、反碼和補碼。三種表示方法均有符號位和數值位兩部分,符號位都是用0表示「正」,用1表示「負」,而數值位,三種表示方法各不相同。
64位計算機, 所能表示的最大數是18446744073709551616,若再加1成為18446744073709551617,但因只有64位,最高位1自然丟失,又回了零,所以64位二進位制系統的模為2^64。在這樣的系統中減法問題也可以化成加法問題,只需把減數用相應的補數表示就可以了。把補數用到計算機對數的處理上,就是補碼。
正整數的補碼是其二進位制表示,與原碼相同。
求負整數的補碼,將其對應正數二進位制表示所有位取反(包括符號位,0變1,1變0)後加1。同乙個數字在不同的補碼表示形式中是不同的。比如-15的補碼,在8位二進位制中是11110001,然而在16位二進位制補碼表示中,就是1111111111110001。
以下都使用8位2進製來表示。
希望我能幫助你解疑釋惑。
機器中為什麼要用補碼?有什麼好處...
10樓:沙里波特
使用補碼代表負數,就可以把減法,轉化為加法運算。
那麼,在計算機中只要有乙個加法器,就可以做加、減法了。
使用補碼的意義,就是簡化了計算機的硬體。
原理如下:時鐘倒撥 3 小時,可以用正撥 9 小時代替。
怎麼計算,自己推導吧。
兩位十進位制數,共有 100 個數字:00~99。
那麼,減一,就可以用 +99 代替:
忽略進製 100,只取後兩位,結果,不就是相同的嗎?
結論:只要利用乙個「較大的正數」代替負數,就能把減法變加法了。
這個較大的正數,就是負數的補數。
計算公式:-1 的補數=100-1 = 99。
-2 的補數=100-2 = 98。
計算機中,使用的是二進位制。
二進位制的補數,就改稱為:補碼。
八位二進位制數,共有 256 個數字:0000 0000~1111 1111。
那麼,-1 的補碼就是 1111 1111 = 255(十進位制)。
同理,-2 的補碼就是 1111 1110 = 254(十進位制)。
最後,-128 的補碼就是 1000 0000 = 128(十進位制)。
計算公式:負數的補碼=【256+這個負數】
零和正數,不需要求補數(補碼),直接計算即可。
11樓:左稚幻
數的原碼表示形式簡單,適用於乘除運算,但用原碼表示的數進行加減法運算比較複雜,引入補碼之後,減法運算可以用加法來實現,且數的符號位也可以當作數值一樣參與運算,因此在計算機中大都採用補碼來進行加減法運算。
12樓:網友
計算機就兩種狀態,通電,不通電。代表著1和0.負數沒法表示啊!因為只有0和1.所以用補碼。
計算機原碼反碼補碼怎麼算
13樓:象拔蚌燒賣
計算機原碼反碼補碼計算方法:
1、原碼。原碼就是符號位加上真值的絕對值,即用第一位表示符號,其餘位表示值。比如如果是8位二進位制:
[+1]原 = 0000 0001
[-1]原 = 1000 0001
第一位是符號位。 因為第一位是符號位, 所以8位二進位制數的取值範圍就是:[1111 1111 , 0111 1111]
即[-127 , 127]
原碼是人腦最容易理解和計算的表示方式。
2、反碼。反碼的表示方法是:正數的反碼是其本身。負數的反碼是在其原碼的基礎上, 符號位不變,其餘各個位取反。
[+1] =00000001]原 = 00000001]反。
[-1] =10000001]原 = 11111110]反。
可見如果乙個反碼表示的是負數,人腦無法直觀地看出來它的數值。通常要將其轉換成原碼再計算。
3、補碼。補碼的表示方法是:正數的補碼就是其本身。負數的補碼是在其原碼的基礎上,符號位不變,其餘各位取反,最後+1。(即在反碼的基礎上+1)。
[+1] =00000001]原 = 00000001]反 = 00000001]補。
[-1] =10000001]原 = 11111110]反 = 11111111]補。
對於負數,補碼表示方式也是人腦無法直**出其數值的。通常也需要轉換成原碼在計算其數值。
14樓:沙里波特
計算機中,並沒有原碼和反碼,只是使用補碼,代表正負數。
使用補碼的意義:可以把減法或負數,轉換為加法運算。從而簡化計算機的硬體。
比如鐘錶,時針轉一圈,週期是 12 小時。
倒撥 3 小時,可以用正撥 9 小時代替。
9,就稱為-3 的補數。
計算方法:12-3 = 9。
對於分針,倒撥 x 分,就可以用正撥 60-x 代替。
如果,限定了兩位十進位制數 (0~99),週期就是 100。
那麼,減一,就可以用 +99 代替。
忽略進製,只取兩位數,這兩種演算法,結果就是相同的。
於是,99 就是 -1 的補數。
其它負數的補數,大家可以自己求!
求出了負數的補數,就可用加法,代替減法了。
計算機中使用二進位制,補數,就改稱為【補碼】。
常用的八位二進位制是:0000 0000~1111 1111。
它們代表了十進位制:0~255,週期就是 256。
那麼,-1,就可以用 255 = 1111 1111 代替。
所以:-1 的補碼,就是 1111 1111 = 255。
同理:-2 的補碼,就是 1111 1110 = 254。
繼續:-3 的補碼,就是 1111 1101 = 253。
最後:-128,補碼是 1000 0000 = 128。
計算公式:負數的補碼=256+這個負數。
正數,直接運算即可,不需要求補碼。
也可以說,正數本身就是補碼。
補碼的應用如: 7-3 = 4。
用補碼的計算過程如下:
7 的補碼=
-3的補碼=
相加
得: (1)= 4 的補碼。
捨棄進製,只保留八位,作為結果即可。
這就是:使用補碼,加法就代替了減法。
所以,在計算機中,有乙個加法器,就夠用了。
原碼和反碼,都沒有這種功能。
原碼和反碼,毫無用處。計算機中,根本就沒有它們。
計算機中的原碼是什麼,計算機的原碼,反碼,補碼是怎麼回事?可以舉例說明嗎
數值在計算機中是以補碼的方式儲存的,在探求為何計算機要使用補碼之前,讓我們先了解原碼,反碼和補碼的概念。對於乙個數,計算機要使用一定的編碼方式進行儲存。原碼,反碼,補碼是計算機儲存乙個具體數字的編碼方式。乙個數在計算機中的二進位制表示形式,叫做這個數的機器數。機器數是帶符號的,在計算機用乙個數的最高...
什麼是計算機中的位元組,計算機中的「位」和「位元組」是什麼概念?
位元組是個儲存單位,8位字元稱乙個位元組,每個英文本母就占用乙個位元組,每個中文字佔兩個位元組,兩個英文本母和乙個中文漢字所佔的空間一樣大 byte是乙個位元組,乙個位元組由8位構成,也就是8bit 位元組是個儲存單位,通常說乙個英文本母為乙個位元組,乙個中文字母佔2個位元組,1mb 1024b,1...
C C 關於浮點數在計算機中的計算機制?
首先,要校正一下你問題中的錯誤 任何計算機裡面的算術邏輯運算都不是在記憶體裡面的進行的。必須先將資料讀入cpu中的暫存器,然後通過alu部件 運算部件 進行運算的。這點切記別搞錯了。以下講講浮點數的運算。其實在我的理解上,浮點數的運算和整數的運算其實區別不大。計算機浮點數的表示其實類似於我們數學中科...
計算機中的cadcamcaicat分別是什麼意思
cad computer aided design 計算機輔助設計 cam computer aided manufacturing 計算機輔助製造 cai computer aided instruction 計算機輔助教學 cat computer aided translation 計算機輔助...
關於計算機中二進位制的轉換和計算,計算機裡十進位制和二進位制之間怎麼轉換,計算的方法是什麼
計算機 十進位制和二進位制的轉換 第一題為 0.8125 2 1.625 取走1 還剩0.625繼續 0。625 2 1.25,取走1 還剩0.250。25 2 0.5,取0 0。5 2 1,取1,就ok了,看懂了沒?答案是0.1101 第二題就直說答案了 1010010,這個就你自己算了,一樓的給...