結果規格化—規格化浮點數的加減運算
阿新 • • 發佈:2019-01-07
一.對運算結果進行規格化處理
(1)先判斷結果是不是規格化,如不是執行下面幾步
(2)補碼尾數的最高位和尾數符號相反,如
(3)結果溢位(01,10)則需要右規,否則左規
二.例題分析
例題1:
x = 2^11*0.100101, y = 2^-10*(-0.011110) [x]浮 = 11101,0.100101,[y]浮 = 11110,-0.011110 Ex-Ey = 11101+00010=11111 [x]浮 = 11110,0.010010(1) x+y 0 0. 0 1 0 0 1 0 (1) + 1 1. 1 0 0 0 1 0 1 1. 1 1 0 1 0 0 (1) 規格化處理: 1.010010 階碼 11100 x+y= 1.010010*2^-4 = 2^-4*-0.101110
分析:本來結果為1 1. 1 1 0 1 0 0 (1),但是11為符號位,1為最高位,與要求(2)不符合,根據要求(3)需要左規,則小數點右移,則變為11.101001,11為符號位,1為最高位,與要求(2)不符合,根據要求(3)需要左規,變為1.010010,符合要求(2)(3),此時結果規格化。
例題2:
x+y= 1.010010*2^-4 = 2^-4*-0.101110
x-y 0 0. 0 10 01 0 (1)
+ 0 0. 0 11 11 0
0 0 1 1 00 00 (1)
規格化處理: 0.110000 階碼 11110
x-y=2^-2*0.110001
分析:通過要求(1)(2)分析,結果已經是規格化。
例題3:
x = 2^10*0.1101, y = 2^11*(-0.1111)
[x]浮 = 0 0010 11010,[y]浮 = 1 0011 00010
對階:[x]浮 = 0 0011 01101
x-y = x+[-y]
x+[-y] 0 0. 0 1 1 0 1
+ 0 0. 1 1 1 1 0
0 1. 0 1 0 1 1
規格化處理: 00.101011 階碼 0100
x-y= 2^100*0.10101
分析:由符號位是01根據要求(2),需要右規,則變為00.10101,滿足規格化條件,結果規格化。
若是哪裡有理解錯誤的或寫錯的地方,望各位讀者評論或者私信指正,不勝感激。
---------------------
作者:malimingwq
來源:CSDN
原文:https://blog.csdn.net/malimingwq/article/details/79846558
版權宣告:本文為博主原創文章,轉載請附上博文連結!