問(wèn)題
原碼、反碼、補(bǔ)碼都是什么?
二進(jìn)制二進(jìn)制就是「逢二進(jìn)一」,跟十進(jìn)制沒有什么本質(zhì)區(qū)別。
二進(jìn)制轉(zhuǎn)換到十進(jìn)制
1001 = 2^3 + 0^2 + 0^1 + 1^0 = 9
十進(jìn)制轉(zhuǎn)換二進(jìn)制,可以使用短除法,下面演示13轉(zhuǎn)換成二進(jìn)制1101
原碼是指一個(gè)二進(jìn)制數(shù)左邊加上符號(hào)位所得到的碼,二進(jìn)制數(shù)大于0時(shí),符號(hào)位為0,二進(jìn)制數(shù)小于0時(shí),符號(hào)位為1。
計(jì)算機(jī)中所有的數(shù)均用0、1編碼表示,數(shù)字的正負(fù)號(hào)也不例外,如果一個(gè)機(jī)器數(shù)字長(zhǎng)是n位的話,約定最左邊一位用作符號(hào)位,其余n-1位用于表示數(shù)值。
小數(shù)原碼定義例如:[+0.1011]原 = 0.1011000,[-0.1011]原 = 1.101100
代碼中的小數(shù)點(diǎn)“.”是在書寫時(shí)為了清晰起見加上去的,在機(jī)器中并不出現(xiàn)。
整數(shù)原碼定義例如:[+1011]原=00001011,[-1011]原=10001011
原碼優(yōu)點(diǎn)簡(jiǎn)單直觀;例如,我們用8位二進(jìn)制表示一個(gè)數(shù),則+11的原碼為00001011,-11的原碼就是10001011。
原碼缺點(diǎn)原碼不能直接參加運(yùn)算,可能會(huì)出錯(cuò)。例如數(shù)學(xué)上,1+(-1)=0,而在二進(jìn)制中00000001+10000001=10000010,換算成十進(jìn)制為-2。顯然出錯(cuò)了。
補(bǔ)碼是一種用二進(jìn)制表示有符號(hào)數(shù)的方法,也是一種將數(shù)字的正負(fù)號(hào)變號(hào)的方式。
下面用4位的補(bǔ)碼數(shù)字來(lái)說(shuō)明補(bǔ)碼系統(tǒng)的數(shù)字表示方式。
在表示正數(shù)和零時(shí),補(bǔ)碼數(shù)字和一般二進(jìn)制一樣,唯一的不同是在補(bǔ)碼系統(tǒng)中,正數(shù)的最高比特恒為0,因此4位的補(bǔ)碼正數(shù),最大數(shù)字為0111 (7)。
補(bǔ)碼數(shù)字的負(fù)數(shù),最高比特恒為1,4位補(bǔ)碼的數(shù)字中,最接近0的負(fù)數(shù)為1111 (-1),以此類推,因此絕對(duì)值最大的負(fù)數(shù)是1000 (-8)。
以上的表示方式在電腦處理時(shí)格外方便,用以下的例子說(shuō)明:
0011 (3) + 1111 (-1) -------------- 10010 (2)
10010似乎是錯(cuò)的,但是結(jié)果超過(guò)四個(gè)比特,忽略第五個(gè)比特,結(jié)果是0010(2),跟計(jì)算結(jié)果是一樣的。
另外還可以將1111變號(hào)為0001(1),那上面的是式子也可以當(dāng)作減法計(jì)算3-1=2,結(jié)果還是一樣的。
原碼求補(bǔ)碼在計(jì)算二進(jìn)制數(shù)字的補(bǔ)碼時(shí),會(huì)將數(shù)字進(jìn)行比特反相運(yùn)算,再將結(jié)果加1,不考慮溢出比特(一般情形,溢出比特會(huì)為0),就可以得到該數(shù)字的補(bǔ)碼。
正數(shù)和0的補(bǔ)碼就是該數(shù)字本身。
負(fù)數(shù)的補(bǔ)碼則是將其對(duì)應(yīng)正數(shù)按位取反再加1。
-5 => 對(duì)應(yīng)整數(shù) => 00000101 => 按位取反 => 11111010 => +1 => 11111011補(bǔ)碼求原碼
正數(shù)原碼就是補(bǔ)碼
負(fù)數(shù)的原碼就是補(bǔ)碼的補(bǔ)碼
11111011(-5) => 按位取反 => 10000100 => +1 => 10000101 => -5反碼
是用來(lái)由原碼求補(bǔ)碼或者由補(bǔ)碼求原碼的過(guò)渡碼。
正數(shù)的反碼與其原碼相同。
負(fù)數(shù)的反碼是對(duì)正數(shù)逐位取反,符號(hào)位保持為1。
本文發(fā)布于:2023-02-28 21:01:00,感謝您對(duì)本站的認(rèn)可!
本文鏈接:http://www.newhan.cn/zhishi/a/1677717153100646.html
版權(quán)聲明:本站內(nèi)容均來(lái)自互聯(lián)網(wǎng),僅供演示用,請(qǐng)勿用于商業(yè)和其他非法用途。如果侵犯了您的權(quán)益請(qǐng)與我們聯(lián)系,我們將在24小時(shí)內(nèi)刪除。
本文word下載地址:原碼反碼補(bǔ)碼(原碼反碼補(bǔ)碼怎么算).doc
本文 PDF 下載地址:原碼反碼補(bǔ)碼(原碼反碼補(bǔ)碼怎么算).pdf
| 留言與評(píng)論(共有 0 條評(píng)論) |