補(bǔ)碼怎么算加減法 反碼加減法運(yùn)算規(guī)則?
反碼加減法運(yùn)算規(guī)則?1.反碼的加法運(yùn)算:對(duì)兩個(gè)反碼進(jìn)行加法運(yùn)算,然后去掉基數(shù)數(shù)位,用這個(gè)數(shù)加上進(jìn)位的個(gè)數(shù),如:[X]對(duì)0.1011 [Y]對(duì)1.1010 [y]對(duì)0.1011 [Y]對(duì)1.1010 1
反碼加減法運(yùn)算規(guī)則?
1.反碼的加法運(yùn)算:對(duì)兩個(gè)反碼進(jìn)行加法運(yùn)算,然后去掉基數(shù)數(shù)位,用這個(gè)數(shù)加上進(jìn)位的個(gè)數(shù),如:[X]對(duì)0.1011 [Y]對(duì)1.1010 [y]對(duì)0.1011 [Y]對(duì)1.1010 10.0101,循環(huán)進(jìn)位1 [X Y]對(duì)0.0110,所以
2.反碼的減法運(yùn)算:將兩個(gè)反碼所代表的數(shù)相減,類似于補(bǔ)碼減法。改變減數(shù)的符號(hào),根據(jù)反碼的加法進(jìn)行減法。
100的補(bǔ)碼是多少?
-100的8位二進(jìn)制補(bǔ)碼是11100100。求負(fù)整數(shù)的補(bǔ)數(shù),將正二進(jìn)制表示對(duì)應(yīng)的所有位(包括符號(hào)位,0到1,1到0)反轉(zhuǎn)后加1。計(jì)算機(jī)中符號(hào)的個(gè)數(shù)有三種表示,即原碼、補(bǔ)碼和補(bǔ)碼。這三種表示有兩部分:符號(hào)位和數(shù)字位。符號(hào)位是 "積極 "用0和 "消極 "具有1,而數(shù)字位具有不同的表示。在計(jì)算機(jī)系統(tǒng)中,數(shù)值總是用補(bǔ)碼來表示和存儲(chǔ)。原因是有了補(bǔ)碼,符號(hào)位和數(shù)值域可以統(tǒng)一處理;同時(shí),加減法也可以統(tǒng)一處理。另外,補(bǔ)碼和原碼相互轉(zhuǎn)換,運(yùn)算過程相同,不需要額外的硬件電路。
原碼補(bǔ)碼反碼在線計(jì)算?
在計(jì)算機(jī)中,數(shù)字是以二進(jìn)制形式表示的。
數(shù)字分為有符號(hào)數(shù)字和無符號(hào)數(shù)字。
原碼、補(bǔ)碼、補(bǔ)碼都是有符號(hào)定點(diǎn)的表示。
有符號(hào)定點(diǎn)數(shù)的最高位是符號(hào)位,0為正,1為負(fù)。
以一個(gè)8位整數(shù)為例。
源代碼是數(shù)字本身的二進(jìn)制形式。
例如
0000001是1。
1000001是-1。
正數(shù)的補(bǔ)碼和補(bǔ)碼與原碼相同。
負(fù)數(shù)的取反是對(duì)其原始代碼中除符號(hào)位以外的每一位的取反。
[-3]對(duì)[10000011]對(duì)11111100
負(fù)數(shù)的補(bǔ)碼是對(duì)其原始碼中除符號(hào)位以外的每一位求反,然后在最后一位加1。
[-3]增補(bǔ)[10000011]增補(bǔ)11111101
一個(gè)數(shù)及其補(bǔ)數(shù)是可逆的。
為什么要設(shè)置補(bǔ)碼?
第一種是讓計(jì)算機(jī)執(zhí)行減法:
補(bǔ)碼補(bǔ)碼
第二個(gè)原因是統(tǒng)一正0和負(fù)0。
正零:00000000
負(fù)零:10000000
這兩個(gè)數(shù)其實(shí)都是0,只是它們的原碼有不同的表示。
但是它們的補(bǔ)碼是一樣的,都是000000000。
特別注意,如果1后面有進(jìn)位,要進(jìn)位,包括符號(hào)位!(這個(gè)和反碼不一樣!)
[10000000]補(bǔ)碼
[10000000]反1
11111111 1
(1)00000000
00000000(最高位溢出,符號(hào)位變?yōu)?)
有人會(huì)問
什么號(hào)碼 s補(bǔ)碼10000000的補(bǔ)碼代表什么?
其實(shí)這是一個(gè)規(guī)律,這個(gè)數(shù)的意思是-128。
因此,N位補(bǔ)碼可以表示的范圍是
-2 (n-1)到2 (n-1)-1
比N位原始代碼所能表示的數(shù)字多1。
另一個(gè)例子:
1011
原始代碼:01011
反碼:01011 //正數(shù),反碼原碼。
補(bǔ)碼:01011 //正數(shù),補(bǔ)碼原碼。
-1011
原始代碼:11011
反碼:當(dāng)10100 //為負(fù)時(shí),反碼是原碼的逆。
補(bǔ)碼:當(dāng)10101 //為負(fù)時(shí),補(bǔ)碼為原碼的1。
0.1101
原始代碼:0.1101
逆碼:0.1101 //正數(shù),逆碼原碼。
補(bǔ)碼:0.1101 //正數(shù),補(bǔ)碼原碼。
-0.1101
原始代碼:1.1101
反碼:1.0010 //負(fù)數(shù),反碼是原碼的逆。
補(bǔ)碼:1.0011 //當(dāng)數(shù)字為負(fù)數(shù)時(shí),補(bǔ)碼為原碼的1。