定點整數的加減法


簡述

因為定點數一般用補碼表示,我們對於原碼的計算復雜,因為操作數取絕對值運算,實際操作並不僅僅取決於操作碼,還與操作數的正負有關,並且可能對運算結果進行修正。因此我們下面主要討論補碼的加減運算方法。

 

定義

兩個操作數都使用補碼表示,連同符號位一起運算,結果也使用補碼表示。

 

基本關系

    (X+Y)補=X補+Y補

    (X-Y)補=X補+(-Y補)

 

運算規則

首先我們在下面的計算過程中,將下面幾點作為運算規則

1.對於定點整數運算,取mod2n+1的模(n表示不包括符號位的數值);對於定點小數,取mod2

 

 

 

直接舉例

(1)若X=+10010,Y=-10101,求[X+Y]

1.分別求X,Y的補碼

[X]=010010,[Y]=101011

2.代入公式計算

[X+Y]=[X]+[Y]=010010+101011=111101

3.取模運算(取mod25+1

得到[X+Y]=111101

【補充】:

如果這道題是要求計算X+Y的值,此時我們有了[X+Y],我們只需要對得到的值再次求補就行

X+Y=100011=-00011

 

(2)已知X=+10101,Y=+10010,求(X-Y)補

這種情況我們需要代入的公式是(X-Y)補=X補+(-Y補),因此我們不管要計算Y補,也要計算(-y)補

[X]=010101,[Y]=010010,[-Y]=101110(連同符號位一起變反加一,變補)

[X+Y]=[X]+[-Y]=010101+101110=1000011

取模預算丟掉最高位1,得到[X-Y]=000011=+00011

同樣要求X-Y,也是對結果求補等於+00011


免責聲明!

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



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