新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 數(shù)的補(bǔ)碼表示及其加減運算

數(shù)的補(bǔ)碼表示及其加減運算

作者: 時間:2016-11-27 來源:網(wǎng)絡(luò) 收藏
  補(bǔ)碼表示

數(shù)的補(bǔ)碼表示:與原碼表示相同

[+1]補(bǔ)碼=00000001 = 01H
[+127]補(bǔ)碼 =0111 1111 = 7FH
[+0]補(bǔ)碼=0000 0000 = 0H

  負(fù)數(shù)的補(bǔ)碼表示:相應(yīng)的正數(shù)按位求反,末位加1即為該負(fù)數(shù)的補(bǔ)碼表示
  
  求負(fù)數(shù)補(bǔ)碼表示的方法:
 ?。?)寫出與該負(fù)數(shù)相對應(yīng)的正數(shù)的補(bǔ)碼
  (2)按位求反
 ?。?)末位加一

  例:假設(shè)機(jī)器字長為8位,求-46的補(bǔ)碼。
    + 46的補(bǔ)碼表示為: 0010 1110
    按位求反:     1101 0001
    末位加一      1101 0010
    所以,[-46]補(bǔ)碼 = D2H

  符號擴(kuò)展:是指一個數(shù)從位數(shù)較少擴(kuò)展到位數(shù)較多,如從8位擴(kuò)展到16位,或從16位擴(kuò)展到32位。

  對于用補(bǔ)碼表示的數(shù),正數(shù)的符號擴(kuò)展在前面補(bǔ)0,負(fù)數(shù)的符號擴(kuò)展在前面補(bǔ)1,假設(shè)機(jī)器字長為16位,[+46]補(bǔ)碼 = 002EH,[-46]補(bǔ)碼 = FFD2H。

n位補(bǔ)碼的表數(shù)范圍是:

2^(n-1)≤N≤2^(n-1)-1
8位二進(jìn)制的表數(shù)范圍是 -128≤N≤+127,
16位二進(jìn)制的表數(shù)范圍是 -32768≤N≤+32767。


補(bǔ)碼的加、減法


  對一個二進(jìn)制數(shù)按位求反、末位加一的運算稱為求補(bǔ)運算.

  在機(jī)器里,補(bǔ)碼減法是通過對減數(shù)求補(bǔ)后把減法轉(zhuǎn)換為加法進(jìn)行的。符號位參加運算,能自動得到正確結(jié)果。

  在某些情況下,要處理的數(shù)全是正數(shù)(比如表示地址的數(shù)),就沒有必要保留符號位了,可以把最高有效位也作為數(shù)值處理,這樣的數(shù)稱為無符號數(shù)。n位無符號數(shù)的表數(shù)范圍是0≤N≤2^(n)-1 。

存儲器分段管理

段地址 × 16d + 偏移地址 = 物理地址


評論


技術(shù)專區(qū)

關(guān)閉