原碼,反碼,補(bǔ)碼的定義是什么。
發(fā)布時(shí)間:2025-10-30 | 來(lái)源:互聯(lián)網(wǎng)轉(zhuǎn)載和整理
有符號(hào)數(shù)有三種表示方法,即原碼、反碼和補(bǔ)碼。
但是在計(jì)算機(jī)系統(tǒng)中,數(shù)值一律用補(bǔ)碼來(lái)表示和存儲(chǔ)。
所以在計(jì)算機(jī)系統(tǒng)中,原碼和反碼,都是不存在的。
----------
想要理解補(bǔ)碼,要先從補(bǔ)數(shù)開(kāi)始。
鐘表的時(shí)針轉(zhuǎn)一圈,周期是12小時(shí)。
倒撥3小時(shí),就可以用正撥9小時(shí)代替。
9就是-3的補(bǔ)數(shù)?!?=12-3。
同理分針倒撥X分,就可以用正撥(60-X)代替。
60是分針的周期。
------
對(duì)于兩位十進(jìn)制0~99,周期就是一百。
這時(shí)減一,你就可以用+99代替。
25-1=24
25+99=(1)24
結(jié)果取兩位舍棄進(jìn)位。這兩種算法功能就是相同的。
99,就稱為-1的補(bǔ)數(shù)。
98,就是-2的補(bǔ)數(shù)。
。。。
負(fù)數(shù)的補(bǔ)數(shù)=周期+該負(fù)數(shù)。
利用補(bǔ)數(shù)就可以用加法,代替減法運(yùn)算。
正數(shù)不需要求補(bǔ)數(shù)。
------
計(jì)算機(jī)使用二進(jìn)制,補(bǔ)數(shù),就改稱:補(bǔ)碼。
八位二進(jìn)制共有256個(gè)數(shù)字。負(fù)數(shù)的補(bǔ)碼=256+該負(fù)數(shù)。
16位二進(jìn)制,共有2^16個(gè)數(shù)字。負(fù)數(shù)的補(bǔ)碼=65536+該負(fù)數(shù)。
這就是補(bǔ)碼的定義式。在你的書(shū)上一定能找到這種算式。
------
在八位時(shí):
-1的補(bǔ)碼是:256-1=255=11111111(二進(jìn)制)。
?。?的補(bǔ)碼是:254=11111110。
?。?的補(bǔ)碼是:253=11111101。
。。。
?。?28補(bǔ)碼:128=10000000。
------
有了補(bǔ)碼計(jì)算機(jī)僅需要一個(gè)加法器,就可以加減通用了。
而原碼和反碼,不具備這種能力。
所以原碼和反碼,究竟是怎么定義,就不必關(guān)心了。
因?yàn)樗鼈?,毫無(wú)用處。