(3)反碼表示法
機(jī)器數(shù)的反碼可由原碼得到。如果機(jī)器數(shù)是正數(shù),則該機(jī)器數(shù)的反碼與原碼一樣;如果機(jī)器數(shù)是負(fù)數(shù),則該機(jī)器數(shù)的反碼是對(duì)它的原碼(符號(hào)位除外)各位取反而得到的。設(shè)有一數(shù)X,則X的反碼表示記作[X]反。
例如:X1= +1010110
X2= 一1001010
[X1]原=01010110
[X1]反=[X1]原=01010110
[X2]原=11001010
[X2]反=10110101
反碼通常作為求補(bǔ)過(guò)程的中間形式,即在一個(gè)負(fù)數(shù)的反碼的未位上加1,就得到了該負(fù)數(shù)的補(bǔ)碼。
例1. 已知[X]原=10011010,求[X]補(bǔ)。
分析如下:
由[X]原求[X]補(bǔ)的原則是:若機(jī)器數(shù)為正數(shù),則[X]原=[X]補(bǔ);若機(jī)器數(shù)為負(fù)數(shù),則該機(jī)器數(shù)的補(bǔ)碼可對(duì)它的原碼(符號(hào)位除外)所有位求反,再在未位加1而得到。現(xiàn)給定的機(jī)器數(shù)為負(fù)數(shù),故有[X]補(bǔ)=[X]原十1,即
[X]原=10011010
[X]反=11100101
十) 1
[X]補(bǔ)=11100110
例2. 已知[X]補(bǔ)=11100110,求[X]原。
分析如下:
對(duì)于機(jī)器數(shù)為正數(shù),則[X]原=[X]補(bǔ)
對(duì)于機(jī)器數(shù)為負(fù)數(shù),則有[X]原=[[X]補(bǔ)]補(bǔ)
現(xiàn)給定的為負(fù)數(shù),故有:
[X]補(bǔ)=11100110
[[X]補(bǔ)]反=10011001
十) 1
[[X]補(bǔ)]補(bǔ)=10011010=[X]原