定點補碼加減法運算 定點加減法運算與溢位判斷處理

2021-10-12 13:16:31 字數 1153 閱讀 3763

定點加減法運算

原碼加減法:

同號:數值部分相加,結果的符號與加數符號相同。

異號:數值部分相減(要將減數取補,變成加法),結果的符號取絕對值大的數的符號。

原碼一般不用來做加減運算,而多用來做乘除運算,做加減運算時,多用補碼。

補碼加減法運算:符號位與數值位一起參與運算。

運算規則:

兩個補碼相加,符號位也參與運算,最終兩個數和的補碼等於兩個數的補碼之和。

[x+y]補= [x]補+[y]補 任意兩數的補碼之和等於兩數之和的補碼

[-y]補 = -[y]補 ( [-y]補和[y]補互為機器負數的關係)

[x-y]補= [x]補+[-y]補

由[y]補 求 [-y]補 :

設[y]補=ys,y1y2…yn,按照正負分為兩種情況:

①0≤y≤2n-1: y為正數,[y]補=[y]原=0,y1y2…yn,則

[-y]原=1,y1y2…yn。

-y為負數,按原碼變補碼規則得[-y]補=1, y1y2…yn+1

②-2n≤y<0 : y為負數,[y]補=1,y1y2…yn,則

[y]原=1, y1y2…yn+1。

-y為正數,[-y]原=[-y]補=0, y1y2…yn+1。

綜合以上情況得,已知[y]補求[-y]補的法則是:

對[y]補各位(包括符號位)取反且末位加1,就可以得到[-y]補

溢位判斷和處理:

根據符號位、進製位來判斷!

用乙個符號位

xs=ys=0,ss=1 正溢  xs=ys=1,ss=0 負溢

溢位=xsysss+xsysss

用進製位

cs=0,c1=1 正溢   cs=1,c1=0 負溢

溢位= csc1+csc1 = cs + c1

用變形補碼(雙符號位)

當產生溢位時,用乙個符號位無法指示正確的結果符號;

用雙符號位進行判斷:第一符號位為正確符號

符號位 00:表示正數, 11:表示負數

結果的符號位為01時,稱為正溢;為10時,稱為負溢

符號位為00,11無溢位

[x]補 0.1101 [x]補 00.1101

+[y]補 0.1001 +[y]補 00.1001

[x+y]補 1.0110 [x+y]補 01.0110

定點運算 加減法運算

補碼加減運算公式 即 a b a 補碼 b 補碼 補碼,所以求和運算全部用補碼的加法,結果是結果的補碼 溢位判斷 一位符號位判斷溢位 定義 參加操作的兩個數符號相同,其結果的符號與原運算元的符號不同,硬體實現 最高有效位的進製 異或 符號位的進製 1 情況分類 符號位數值位最高位 溢位判定結果 正數...

定點數的加減法

數值運算的核心是指加 減 乘 除四則算術。由於計算機中的數有定點和浮點兩種表示形式,因此相應有定點數的運算和浮點數的運算。本文將介紹計算機中定點數的加減法運算過程。注意,理解本文的前提是要清楚知道頂點數的原始碼 反碼和補碼的含義,以及定點數在計算機中的表示形式。1.補碼加法 由於計算機中定點數均以補...

定點c程式之二 定點加減法

1.定點數表示的基礎 q值。q值就是小數點的位置。16位整形數表示小數 32位整形數表示小數 2.將浮點加減法轉化為定點加減法最重要的是必須保持兩個運算元的q值一致。如果兩者不一致,一般地,為了保證數的精度,在運算前將q值小的數調整為與q值大的數的q值,同時必須注意是否溢位。設x的q值為qx,y的q...