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