浮點運算與浮點運算器
浮點運算與浮點運算器
浮點加減法的運算步驟
設兩個浮點數 X=Mx※2Ex Y=My※2Ey
實現X±Y要用如下5步完成:
①對階操作:小階向大階看齊
②進行尾數加減運算
③規格化處理:尾數進行運算的結果必須變成規格化的浮點數,對于雙符號位的補碼尾數來說,就必須是
001×××…×× 或110×××…××的形式
若不符合上述形式要進行左規或右規處理。
④舍入操作:在執行對階或右規操作時常用“0”舍“1”入法將右移出去的尾數數值進行舍入,以確保精度。
⑤判結果的正確性:即檢查階碼是否溢出
若階碼下溢(移碼表示是00…0),要置結果為機器0;
若階碼上溢(超過了階碼表示的最大值)置溢出標志。
例題:假定X=0 .0110011*2 11 ,Y=0.1101101*2 -10 (此處的數均為二進制) ?? 計算X+Y;
解:[X] 浮 : 0 1 010 1100110
[Y] 浮 : 0 0 110 1101101
符號位 階碼 尾數
第一步:求階差: │ΔE│=|1010-0110|=0100
第二步:對階:Y的階碼小, Y的尾數右移4位
[Y] 浮 變為 0 1 010 0000110 1101暫時保存
第三步:尾數相加,采用雙符號位的補碼運算
00 1100110
+00 0000110
00 1101100
第四步規格化:滿足規格化要求
第五步:舍入處理,采用0舍1入法處理
故最終運算結果的浮點數格式為: 0 1 010 1101101,
即X+Y=+0. 1101101*2 10
2、浮點乘除法的運算步驟
①階碼運算:階碼求和(乘法)或階碼求差(除法)
即 [Ex+Ey]移= [Ex]移+ [Ey]補
[Ex-Ey]移= [Ex]移+ [-Ey]補
②浮點數的尾數處理:浮點數中尾數乘除法運算結果要進行舍入處理
例題:X=0 .0110011*2 11 ,Y=0.1101101*2 -10
求X※Y
解:[X] 浮 : 0 1 010 1100110
[Y] 浮 : 0 0 110 1101101
第一步:階碼相加
[Ex+Ey]移=[Ex]移+[Ey]補=1 010+1 110=1 000
1 000為移碼表示的0
第二步:原碼尾數相乘的結果為:
0 10101101101110
第三步:規格化處理:已滿足規格化要求,不需左規,尾數不變,階碼不變。
第四步:舍入處理:按舍入規則,加1進行修正
所以 X※Y= 0.1010111※2 +000
?
非常好我支持^.^
(0) 0%
不好我反對
(3) 100%
相關閱讀:
- [電子說] 計算機系統的硬件組成和主要部件 2024-09-10
- [電子說] 微分器在濾波器設計中的作用 2024-07-19
- [電子說] 運算器與控制器主要作用是什么 2024-06-30
- [電子說] cpu的運算器和控制器的作用是什么 2024-06-30
- [電子說] cpu控制器和運算器組成的部件有哪些 2024-06-30
- [電子說] 優秀的Verilog/FPGA開源項目-浮點運算器(FPU)介紹 2024-04-26
- [電子說] 為什么使用FPGA?FPGA為什么比GPU的延遲低這么多? 2024-04-16
- [電子說] NVIDIA發布一款人形機器人通用基礎模型—Project GR00T 2024-03-20
( 發表人:admin )