为什么0的补码形式只有一种?
補(bǔ)碼的存在是為了變減法為加法,簡(jiǎn)化了計(jì)算過程,即硬件的設(shè)計(jì)難度。
首先要知道兩個(gè)零是怎么來的,0包括+0和-0,在原碼和反碼中根據(jù)其計(jì)算公式,
針對(duì)于0原碼有兩種表示形式:
+0:0000 0000
-0: 1000 0000
一個(gè)數(shù)如果為正,則它的原碼、反碼、補(bǔ)碼相同。
一個(gè)數(shù)如果為負(fù),則符號(hào)位為1,其余各位是對(duì)原碼取反,然后整個(gè)數(shù)加1。
為了簡(jiǎn)單起見,我們用1個(gè)字節(jié)來表示一個(gè)整數(shù)。
0的補(bǔ)碼表示+0的補(bǔ)碼:0000 0000
0的補(bǔ)碼表示-0的補(bǔ)碼:
第一步:1111 1111
第二步+1= 1 0000 0000
第三部:進(jìn)位1被丟棄,即0000 0000 與+0的補(bǔ)碼相同
1、在計(jì)算機(jī)系統(tǒng)中,數(shù)值一律用補(bǔ)碼來表示(存儲(chǔ))。
主要原因:
使用補(bǔ)碼,可以將符號(hào)位和其它位統(tǒng)一處理;
同時(shí),減法也可按加法來處理。
另外,兩個(gè)用補(bǔ)碼表示的數(shù)相加時(shí),如果最高位(符號(hào)位)有進(jìn)位,則進(jìn)位被舍棄。
2、補(bǔ)碼與原碼的轉(zhuǎn)換過程幾乎是相同的。
核心知識(shí)點(diǎn):
1. 正數(shù)的原碼、反碼和補(bǔ)碼都相同;
2. 負(fù)數(shù)原碼和反碼的相互轉(zhuǎn)換:符號(hào)位不變,數(shù)值位按位取反;
3. 負(fù)數(shù)原碼和補(bǔ)碼的相互轉(zhuǎn)換:符號(hào)位不變,數(shù)值位按位取反,末位再加1;
4. 0的補(bǔ)碼表示只有一種。
總結(jié)
以上是生活随笔為你收集整理的为什么0的补码形式只有一种?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ThreadLocal为什么会内存泄漏(
- 下一篇: 2019年终总结一下吧