大家好,今天小編來(lái)為大家解答以下的問題,關(guān)于求負(fù)數(shù)的補(bǔ)碼的方法,如何求負(fù)數(shù)的補(bǔ)碼這個(gè)很多人還不知道,現(xiàn)在讓我們一起來(lái)看看吧!
補(bǔ)碼怎么算
正數(shù)的補(bǔ)碼就是其本身
如+9的補(bǔ)碼是00001001。
負(fù)數(shù)的補(bǔ)碼是在其原碼的基礎(chǔ)上,符號(hào)位不變,其余各位取反,最后+1.(即在反碼的基礎(chǔ)上+1)
[+1]=[00000001]原=[00000001]反=[00000001]補(bǔ)
[-1]=[10000001]原=[11111110]反=[11111111]補(bǔ)
對(duì)于負(fù)數(shù),補(bǔ)碼表示方式也是人腦無(wú)法直觀看出其數(shù)值的.通常也需要轉(zhuǎn)換成原碼在計(jì)算其數(shù)值。
正整數(shù)的補(bǔ)碼是其二進(jìn)制表示,與原碼相同。
例:+9的補(bǔ)碼是00001001。
求負(fù)整數(shù)的補(bǔ)碼,將其對(duì)應(yīng)正數(shù)二進(jìn)制表示所有位(包括符號(hào)位)取反(0變1,1變0,符號(hào)位為1不變)后加1。
求補(bǔ)碼的方法
求補(bǔ)碼分兩種情況:
一,正數(shù):正整數(shù)的補(bǔ)碼是其二進(jìn)制表示,與原碼相同。(正整數(shù)的原碼,補(bǔ)碼和反碼都一樣)
二,負(fù)數(shù):求負(fù)整數(shù)的補(bǔ)碼,就是將其對(duì)應(yīng)正數(shù)二進(jìn)制表示所有位取反然后加1,0變1,1變0,符號(hào)位為1不變。
同一個(gè)數(shù)值在不同的系統(tǒng)中表示的形式是不一樣的,這是因?yàn)榭梢苑殖?位二進(jìn)制和16位二進(jìn)制。
擴(kuò)展資料:
計(jì)算機(jī)中的符號(hào)數(shù)有三種表示方法,即是原碼、反碼和補(bǔ)碼。三種表示方法均有符號(hào)位和數(shù)值位兩部分,符號(hào)位都是用0表示“正”,用1表示“負(fù)”,而數(shù)值位,三種表示方法各不相同。
在計(jì)算機(jī)系統(tǒng)中,數(shù)值一律用補(bǔ)碼來(lái)表示和存儲(chǔ)。原因在于,使用補(bǔ)碼,可以將符號(hào)位和數(shù)值域統(tǒng)一處理;同時(shí),加法和減法也可以統(tǒng)一處理。此外,補(bǔ)碼與原碼相互轉(zhuǎn)換,其運(yùn)算過程是相同的,不需要額外的硬件電路。
一個(gè)規(guī)定:
數(shù)0的補(bǔ)碼表示是唯一的。
[+0]補(bǔ)=[+0]反=[+0]原=00000000
[-0]補(bǔ)=11111111+1=00000000
已知補(bǔ)碼求原碼有兩種方法嗎
已知一個(gè)數(shù)的補(bǔ)碼,求原碼的操作分兩種情況:
(1)如果補(bǔ)碼的符號(hào)位為“0”,表示是一個(gè)正數(shù),所以補(bǔ)碼就是該數(shù)的原碼。
(2)如果補(bǔ)碼的符號(hào)位為“1”,表示是一個(gè)負(fù)數(shù),源求原碼的操作可以是:符號(hào)位為1,其余各位取反,然后再整個(gè)數(shù)加1。
已知一個(gè)補(bǔ)碼為11111001,則原碼是10000111(-7):因?yàn)榉?hào)位為“1”,表示是一個(gè)負(fù)數(shù),所以該位不變,仍為“1”;其余7位1111001取反后為0000110;再加1,所以是10000111。
負(fù)數(shù)的補(bǔ)碼怎么求
負(fù)數(shù)的補(bǔ)碼可以通過以下步驟求得:
1、將負(fù)數(shù)轉(zhuǎn)換成對(duì)應(yīng)的二進(jìn)制表示形式。
2、對(duì)二進(jìn)制數(shù)取反(0變成1,1變成0)。
3、將取反后的二進(jìn)制數(shù)加1。
例如,要求-7的補(bǔ)碼,先將-7轉(zhuǎn)換成二進(jìn)制表示形式:
-7=1001(最高位為符號(hào)位,表示負(fù)數(shù))
對(duì)二進(jìn)制數(shù)取反:
1001->0110
然后將取反后的二進(jìn)制數(shù)加1:
0110+1=0111
因此,-7的補(bǔ)碼為0111。
補(bǔ)碼在計(jì)算機(jī)中被廣泛使用,特別是在進(jìn)行加法和減法運(yùn)算時(shí)。
-5的補(bǔ)碼
例:求-5的補(bǔ)碼。
-5對(duì)應(yīng)帶符號(hào)位負(fù)數(shù)5(10000101)→除符號(hào)位外所有位取反(11111010)→加00000001為(11111011)
所以-5的補(bǔ)碼是11111011。
0的補(bǔ)碼
數(shù)0的補(bǔ)碼表示是唯一的[3]。
[+0]補(bǔ)=[+0]反=[+0]原=00000000
[-0]補(bǔ)=11111111+1=00000000
補(bǔ)碼求原碼
已知一個(gè)數(shù)的補(bǔ)碼,求原碼的操作其實(shí)就是對(duì)該補(bǔ)碼再求補(bǔ)碼[3]:
⑴如果補(bǔ)碼的符號(hào)位為“0”,表示是一個(gè)正數(shù),其原碼就是補(bǔ)碼。
⑵如果補(bǔ)碼的符號(hào)位為“1”,表示是一個(gè)負(fù)數(shù),那么求給定的這個(gè)補(bǔ)碼的補(bǔ)碼就是要求的原碼。
例:已知一個(gè)補(bǔ)碼為11111001,則原碼是10000111(-7)。
解:因?yàn)榉?hào)位為“1”,表示是一個(gè)負(fù)數(shù),所以該位不變,仍為“1”。
其余七位1111001取反后為0000110;再加1,所以是10000111。
END,本文到此結(jié)束,如果可以幫助到大家,還望關(guān)注本站哦!