1、原碼、反碼和補碼系列知識


 機器數和真值

機器數

一個數在計算機中的二進制表示形式,  叫做這個數的機器數。機器數是帶符號的,在計算機用一個數的最高位存放符號, 正數為0, 負數為1。

例,十進制中的數 +3 ,計算機字長為8位,機器數是00000011;如果是 -3 ,機器數是 10000011 ;

真值

因為機器數的第一個位置存放的是符號位,所以不能參與進制的轉換。因此把帶符號位的機器數對應的真正數值稱為機器數的真值。

例,機器數10000011,其4最高位1代表負,則真正數值是-3而不是形式值131(10000011轉換成十進制等於131)。

原碼、反碼和補碼

原碼

用最高位表示符號位,其他位置存放該數二進制的絕對值;也就是最簡單的機器鼠表示法。

例,帶符號位的四位二進值數

  1. 1010 : 最高位為‘1’,表示這是一個負數,其他三位為‘010’,

  2. 即(0*2^2)+(1*2^1)+(0*2^0)=2(‘^’表示冪運算符)

  3. 所以1010表示十進制數(-2)。

下圖給出部份正負數數的二進制原碼表示法:

 

反碼

正數的反碼等於原碼,附屬的反碼就是他的原碼除符號位外,按位取反。

例,帶符號位的四位二進制數

  1. 3是正數,反碼與原碼相同,則可以表示為0011

  2. -3的原碼是1011,符號位保持不變,低三位(011)按位取反得(100)

  3. 所以-3的反碼為1100

下圖給出部分正負數的二進制數反碼表示法:

 

補碼

正數的補碼等於它的原碼,負數的補碼等於反碼+1

特點

  1. 數值為零的補碼表示唯一。
  2. 正數補碼馬志隨着針織增大而增大,負數補碼碼值隨着真值增大而增大。

補碼加減法運算規則

  1. 參加運算的操作數用補碼表示。
  2. 符號位等同於數值位一起參加運算
  3. 對於兩數相加間的各種情況,計算機都執行加法操作。當操作碼為加法運算時就直接進行相加,當操作碼為減時,將簡述聯通符號位一起求反末尾加1再與被減數相加。
  4. 結果用補碼表示。
  5. 同號相加和異號相減的情況會溢出。

例:

                         

 

 

 

 

 

 

 

 

 

 

           


免責聲明!

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



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