- N +

已知負(fù)數(shù)的補(bǔ)碼求原碼 負(fù)數(shù)的原碼反碼補(bǔ)碼怎么求

怎么求一個(gè)負(fù)數(shù)的原碼和補(bǔ)碼

在c語(yǔ)言中,負(fù)數(shù)的源碼是計(jì)算出來(lái)的,即先視作一個(gè)正數(shù),將這個(gè)十進(jìn)制的正數(shù)轉(zhuǎn)換為二進(jìn)制的數(shù),在最高位補(bǔ)一個(gè)1,其余空位補(bǔ)0,得到源碼。

一般來(lái)說(shuō)正數(shù)的補(bǔ)碼是源碼本身,負(fù)數(shù)的補(bǔ)碼是他源碼除去符號(hào)位以外其他各位取反(1變0,0變1)后加1。

負(fù)數(shù)的補(bǔ)碼怎么求的

負(fù)數(shù)的補(bǔ)碼可以通過(guò)以下步驟求得:

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í)。

-117的補(bǔ)碼

117的原碼:11110101第一位代表符號(hào)位1表示負(fù)

負(fù)數(shù)補(bǔ)碼是在原碼的基礎(chǔ)上除符號(hào)位其余變反加1所以為10001011

反碼在原碼的基礎(chǔ)上除符號(hào)位不變外,其余的取反所以是10001010

2原碼:10001011反碼:11110100補(bǔ)碼:11110101

原碼、反碼、補(bǔ)碼之間的轉(zhuǎn)換和簡(jiǎn)單運(yùn)算

1、原碼轉(zhuǎn)換為反碼:符號(hào)位不變,數(shù)值位分別“按位取反”

2、反碼轉(zhuǎn)換為原碼也是一樣:符號(hào)位不變,數(shù)值位分別“按位取反”

3、原碼轉(zhuǎn)換為補(bǔ)碼:符號(hào)位不變,數(shù)值位按位取反,末位再加1

4、補(bǔ)碼轉(zhuǎn)換為原碼:符號(hào)位不變,數(shù)值位按位取反,末位再加1。即補(bǔ)碼的補(bǔ)碼等于原碼

5、求補(bǔ)(變補(bǔ)),即已知[X]補(bǔ),求[-X]補(bǔ)。符號(hào)位和數(shù)值位都取反,末位再加1

總結(jié)一下:

正整數(shù)的原碼、反碼和補(bǔ)碼都一樣;負(fù)數(shù)部分:原碼和反碼的相互轉(zhuǎn)換:符號(hào)位不變,數(shù)值位按位取反原碼和補(bǔ)碼的相互轉(zhuǎn)換:符號(hào)位不變,數(shù)值位按位取反,末位再加1已知補(bǔ)碼,求原碼的負(fù)數(shù)的補(bǔ)碼:符號(hào)位和數(shù)值位都取反,末位再加1

小數(shù)和負(fù)數(shù)的原碼反碼和補(bǔ)碼怎么表示

先轉(zhuǎn)換成原碼,小數(shù)點(diǎn)左邊為符號(hào)位(正數(shù)——0;負(fù)數(shù)——1),然后轉(zhuǎn)換成反碼(即每一位取反),最后再加1.eg:x=-0.11101轉(zhuǎn)換成原碼x=1.11101;然后轉(zhuǎn)換反碼x=1.00010;最后轉(zhuǎn)換成補(bǔ)碼(即+1)x=1.00011.PS:符號(hào)位在轉(zhuǎn)換反碼的時(shí)候不需要取反。

已知補(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。

返回列表
上一篇:
下一篇: