1樓:做而論道
補碼,實際上是「代替負數做運算」的正數。
當位數限定之後,數字的變化,就是週期性的。
比如 2 位 10 進位數:00~99,週期就是 10^2 = 100。
那麼,25 - 1 = 24
25 + 99 = 一百) 24
略去週期值,+99 和-1 的功能就是相同的。
因此,+99,就稱為-1 的補數。
同樣,+98,就是-2 補數。
演算法: 補數 = 負數 + 週期。在二進位中,這就是補碼。
計算機每次計算,位數,也是限定的。
八位機,就是 8 位數,16 位機,就是 16 位數。
那麼:補碼 = 負數 + 2^n。式中:
n 是補碼的位數。2^n 是 n 位數的週期。用上了補碼,計算機中,就沒有負數了。
因此一來,計算機中,也就沒有減法了。
那麼,計算機只用乙個加法器,就打遍天下了。
2樓:沙裡波特
計算機中,只有補碼,並沒有原碼反碼。
正負數,在計算機中,就是以補碼形式存在的。
利用補碼,就可把加減法,統一用加法實現。
其原理,要從「補數」講起。)
補碼存在的意義,就是:簡化硬體,降低計算機的成本,為廠家增加利潤。
補碼的準確定義
3樓:令溫甕秀
原碼是一串二進位數,是原始資料,最高位為符號位,正數為0,負數為1.
反碼是對原碼各位進行求反得到,不改變符號位。
補碼分兩種情況:
1,對正數來說,補碼即原碼。
2,對負數來說,補碼是原碼的反碼再加上1.
計算機中一般用補碼來表示資料。
4樓:做而論道
補碼,是乙個「代替負數進行運算的正數」。
定點小數的補碼(mod=2)的定義式是:
x]補 = x ( 0 ≤ x < 1 )[x]補 = 2 + x (-1 ≤ x < 0 )定點整數的補碼(mod=2^n)的定義式是:
x]補 = x ( 0 ≤ x < 2^(n-1) )x]補 = 2^n-| x | 2^(n-1) ≤x < 0 )其中 n 是 2 進位的位數。
補碼的意義
5樓:做而論道
在計算機系統中,數值,一律採用補碼錶示和儲存。
原碼和反碼,在計算機中,都是沒用的,也都是不存在的。
補碼的意義,得從「補數」談起。
你看 2 位 10 進位的計算:
25 + 99 = 一百) 24
只要你捨棄超出 2 位數的進位,+99 就和-1 是等效的。
加法,也就代替了減法。
同樣,+98,也可以代替-2。
這些正數,就是「負數的補數」。
利用補數,在計算過程中,就沒有負數了。
同時,也就沒有了減法運算。
求補數的公式,小學生都能寫出來:
補數=負數+10^n,
n 是補數的位數,
10^n 是 n 位數的計數週期。
計算機用二進位,補數,就稱為:補碼。
補碼,就是「代替負數」的正數。
使用了補碼,不僅可以簡化演算法,而且還能簡化硬體。
求二進位補碼的公式,依然是:
補碼=負數+2^n。
在乙個位元組中,n = 8,計數週期是:2^8 = 256。
1 的補碼,就是:255 = 1111 1111 (二進位),-2 的補碼,就是:254 = 1111 1110,-128 的補碼,是:128 = 1000 0000。
求補碼,用「原碼反碼取反加一符號位不變」就費事了。
那些說法,都沒有任何理論依據。
而且,也說不明白「補碼是什麼意思?」。
老外算術不行,也弄不懂週期的意思,才編造出這些騷操作。
我們的計算機專業老師,跟風講這些,就是想多賺點課時費而已。
補碼是什麼?
6樓:沙裡波特
在數學中,有個概念,叫做:補數
鐘錶,倒撥 2 小時,可以用正撥 10 小時來代替。
即:-2 的補數,就是 10。
對於兩位十進位數,減一,可以用加 99代替
如: 25 - 1 = 24
忽略進位 1 百,結果就是相同的。
即:-1 的補數,就是 99。
計算機中,以八位二進位,作為乙個位元組。
1,可以用 1111 1111 (即十進位 255) 來代替。
即:-1 的補數(補碼),就是 1111 1111 (=255)。
即:256+這個負數,這就是【負數補碼的定義式】。
正數,不用做任何變換,也可以說:【正數沒有補碼】。
利用補碼,計算機用乙個加法器,就可以做減法運算了。
7樓:大狂哥灬
計算機中的符號數有三種表示方法,即原碼、反碼和補碼。三種表示方法均有符號位和數值位兩部分,符號位都是用0表示「正」,用1表示「負」,而數值位,三種表示方法各不相同。
在計算機系統中,數值一律用補碼來表示和儲存。原因在於,使用補碼,可以將符號位和數值域統一處理;同時,加法和減法也可以統一處理。此外,補碼與原碼相互轉換,其運算過程是相同的,不需要額外的硬體電路。
特性:1、乙個負整數(或原碼)與其補數(或補碼)相加,和為模。
2、對乙個整數的補碼再求補碼,等於該整數自身。
3、補碼的正零與負零表示方法相同。
8樓:111111前的
補碼可以簡化計算機的設計。
對於人腦而言,做加減題時,第一反應就是根據符號位,來選擇對真值區域的加減。但是計算機而言,像加減乘除這類最最基礎也是應用得最頻繁的基本運算,在物理邏輯的設計上一定要設計的儘量簡單。
如果讓計算機也先判斷符號位再分別做加或者減的運算的話,會使得計算機的電路設計變得較為複雜。人類發明了將符號位也參與進運算的方法來。對於計算機而言,不管是加法還是減法,都統一用加法來做運算,可以使得計算機的設計變得更加的簡單。
9樓:沙裡波特
這個問題,不用討論計算機怎樣怎樣。
人,就是這樣算的。
乙個小孩,很小的,只會數 100 個數。
能做加法,還不會做減法。
那麼,減一,你就可以教他:加 99。比如:
對這個小孩來說,結果,不是一樣嗎?
99,就是-1 的補數。
由此,就能推出,計算機的補碼:
255,就是-1 的補碼;
254,就是-2 的補碼;
10樓:做而論道
存在意義,就是:簡化硬體,省錢。因為,負數,是可以用乙個正數(補碼)代替的。
如: 24 - 1 = 23
24 + 99 = 一百) 23
忽略進位,用 +99 就可以代替-1。
99,就是-1 的補數。 計算機用二進位,就稱為:補碼。
用補碼(正數)代替負數,那麼,計算機中,就沒有負數了。
因此,在計算機中,也就只有加法運算了。
所以,在計算機中,只需設定乙個加法器,便可加減通吃了。
240的原碼,反碼,補碼 250的原碼,反碼 補碼各是什麼
240是正數 所以原碼,補碼,反碼都是一樣的 為 0000 0000 1111 0000,250是負數,最高位代表1代表負數,為 原碼 1000 0000 1111 1010,反碼 1111 1111 0000 0101,補碼 1111 1111 0000 0110 原碼就是這個數的二進位制碼 反碼...
為啥整數的補碼是其本身 0001 的補碼是多少
其實,補碼,它就是一個 代表負數 的正數。使用了補碼之後,計算機中,就沒有負數了。而且,也就沒有減法運算了。那麼,計算機中,只需配置一個加法器,就可以走遍天下了。補碼 一個正數 怎麼就能代表負數呢?你看 10 進位制 28 1 27 28 99 一百 27 只要你限制在2 位數,超過 2 位就捨棄!那...
原碼 反碼 補碼的理解,原碼 反碼 補碼的基本概念
在計算機系統中,數值,一律採用 補碼 來表示和儲存。原碼和反碼,都是不用的。所謂的 補碼 實際上,是一個 代替負數做運算 的正數。因為,使用了正數 即補碼 代替了負數,所以,在計算機中,也就沒有了減法運算。那麼,只需配置一個加法器,就可以走遍天下了。而原碼和反碼,都沒有這種功能。所以,它們在計算機中...