NOIP初賽復習(八)原碼、補碼、反碼


數在機器中的表示有以下幾種:原碼、反碼、補碼。

原碼、反碼、補碼的基本概念

字節:8個位。

字長:若干個字節。到底是幾個字節?具體看是哪種CPU。比如2010普及組第11題就假設一個字長只有一個字節8個位。

原碼、反碼、補碼都是建立在機器數在一個字長上的表示。為了方便理解,我們假設字長為一個字節。要注意事實上為32位CPU字長為4個字節,64位CPU字長為8個字節。

原碼:首位為符號位,其余為真值。比如:

 

 

特點:簡單。

范圍:比如字長為8位,則范圍為 11111111(-255)至 01111111(+255)。

缺點:0有兩個表示,分別為正零(00000000)和負零(10000000),給計算機計算帶來不便。

反碼:首位為符號位,其它位分正數和負數兩種情況。

反碼正數:所有位和原碼一樣;

反碼負數:除了符號位和原碼一樣,其他位相反。

比如:77的反碼表示為01001101;-77的反碼表示為10110010。

補碼:分正數和負數兩種情況。

補碼正數:所有位和反碼一樣,當然也和原碼一樣。

補碼負數:等於反碼加1。簡單的一句話,其實很麻煩。

比如:77的補碼表示為01001101(和原碼、反碼一致);-77的補碼表示為10110011。

加1之后會有進位,因為補碼沒有符號位,所以負零的補碼表示也是00000000。

特點:表示比補碼更麻煩。但是解決了一個問題:0只有一種表示。

 

原碼

反碼

補碼

正零

00000000

00000000

00000000

負零

10000000

11111111

00000000

補碼加法:在計算機中,凡是帶符號數一律用補碼表示,運算結果自然也是補碼。其運算特點是:符號位和數值位一起參加運算,並且自動獲得結果(包括符號位與數值位)。

補碼加法的運算規則為:

 

 

 

 即:兩數補碼的和等於兩數和的補碼。

【例】已知 [+51]補=0011 0011,[+66]補=0100 0010,[-51]補=1100 1101;

         求:[+66]補+[+51]補=?,[+66]補+[-51]補=? 

【解】:

(1)由於 [+51]補=0011 0011,[+66]補=0100 0010,

 

 

故  [+66]補+[+51]補=[(+66)+(+55)]補=01110101 

結果為正,因此

 [(+66)+(+55)]原=[(+66)+(+55)]補=01110101 

其真值為+117,計算結果正確。

(2)由於 [+66]補=0100 0010,[-51]補=1100 1101,

 

 


每日練習

 1、無符號二進制數11001000所表示的十進制數為___________ 。

  A .104  B. 148  C. 172 D . 200

2、有符號二進制數11001000所表示的十進制數為___________ 。

  A . -200   B. -72  C. 72  D . 200

3、用16位和8位機器碼分別寫出十進制數+58和—58的原碼、反碼和補碼。

4、若用8位機器碼表示十進制數—101,則原碼表示的形式為  (1)    ;

補碼表示的形式為(2)  。

(1)A.11100101    B.10011011    C.11010101  D.11100111

(2)A.11100101    B.10011011    C.11010101  D.11100111

5、已知一個字長為8的整數的原碼是10011010,求它的補碼。

6、已知一個字長為8的整數的補碼是10011000,求它的原碼。

 


歷年真題

1、在字長為16位的系統環境下,一個16位帶符號整數的二進制補碼為1111111111101101。其對應的十進制整數應該是( )。

   A.19     B.-19     C.18     D.-18

2、一個字長為8位的整數的補碼是11111001,則它的原碼是( )。

   A.00000111     B.01111001     C.11111001    D.10000111

3、在整數的補碼表示法中,以下說法正確的是( )。

   A.只有負整數的編碼最高位為1

   B.在編碼的位數確定后,所能表示的最小整數和最大整數的絕對值相同

   C.整數0只有一個唯一的編碼

   D.兩個用補碼表示的數相加時,如果在最高位產生進位,則表示運算溢出


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM