[彙編]數的補碼表示及其加減運算 補碼表示法
正數的補碼表示:與原碼表示相同
[+1]補碼 =0000 0001 = 01h
[+127]補碼 =0111 1111 = 7fh
[+0]補碼 =0000 0000 = 0h
負數的補碼表示:相應的正數按位求反,末位加1即為該負數的補碼表示
求負數補碼表示的方法:
(1)寫出與該負數相對應的正數的補碼
(2)按位求反
(3)末位加一
例:假設機器字長為8位,求-46的補碼。
+ 46的補碼表示為: 0010 1110
按位求反: 1101 0001
末位加一 1101 0010
所以,[-46]補碼 = d2h
符號擴充套件:是指乙個數從位數較少擴充套件到位數較多,如從8位擴充套件到16位,或從16位擴充套件到32位。
對於用補碼表示的數,正數的符號擴充套件在前面補0,負數的符號擴充套件在前面補1,假設機器字長為16位,[+46]補碼 = 002eh,[-46]補碼 = ffd2h。
n位補碼的表數範圍是:
2^(n-1)≤n≤2^(n-1)-1
8位二進位制的表數範圍是 -128≤n≤+127,
16位二進位制的表數範圍是 -32768≤n≤+32767。
補碼的加、減法
對乙個二進位制數按位求反、末位加一的運算稱為求補運算.
在機器裡,補碼減法是通過對減數求補後把減法轉換為加法進行的。符號位參加運算,能自動得到正確結果。
在某些情況下,要處理的數全是正數(比如表示位址的數),就沒有必要保留符號位了,可以把最高有效位也作為數值處理,這樣的數稱為無符號數。n位無符號數的表數範圍是0≤n≤2^(n)-1 。
儲存器分段管理
段位址 × 16d + 偏移位址 = 實體地址
收藏於 2009-03-25
補碼的加減運算
原文 計算機中採用補碼進行加法運算,並約定儲存單元和運算暫存器中的數都採用補碼表示,資料運算結果也用補碼表示。定點小數補碼加法的運算公式為 x 補 y 補 x y 補 mod 2 具體證明過程見教材。因此在模2定義下,兩個定點小數的補碼之和等於兩個數和的補碼。反過來,兩個數相加所得到的和的補碼等於這...
數的機器碼表示(原碼,反碼,補碼,移碼)
1.機器數和真值 二進位制數有正負之分,如n1 0.101101,n2 0.101101,則n1是個正數,n2是個負數。機器不能直接把符號 表示出來,為了能在計算機中表示正負數,必須引入符號位,即把正負符號也用1位二進位制數碼來表示。把符號位和數值位一起編碼來表示相應的數的表示方法包括 原碼 補碼 ...
數的機器碼表示 原碼 反碼 補碼 移碼
首先區分兩個概念 真值與機器碼 為了解決在計算機內部數的正 負符號和小數點運算問題,而產生了把符號位和數值位一起編碼來表示相應的數的表示方法,如原碼,反碼,補碼,移碼 1.原碼正數 0 二進位制數 負數 1 二進位制數2.反碼正數 0 二進位制數 負數 1 二進位制數按位取反3.補碼正數 0 二進位...