计算机组成原理:浮点数的加、减、乘、除运算(含实例完整运算)
生活随笔
收集整理的這篇文章主要介紹了
计算机组成原理:浮点数的加、减、乘、除运算(含实例完整运算)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
目錄
浮點數的加減運算
零操作數的判斷
對階操作
尾數的加減操作
尾數的規格化
?結果的舍入處理
?結果的溢出判斷
加減實例運算過程
浮點數的乘除法
零操作數的檢查
階碼的加減操作
尾數的乘除操作
結果的規格化、舍入處理及溢出的判斷
具體的操作如下圖
?乘除實例運算過程
浮點數的加減運算
?零操作數的判斷
一個操作數為零,也不必計算,節省時間
- 若加數或被加數其中有 0,則等于其中不為0 的那個數;若全為 0 則等于 0
- 若被減數為 0,則等于減數的相反數 ;若減數為 0,則等于被減數 ,若全為0則等于0
對階操作
-
以階碼加大(絕對值)的為標準,階碼較小的 ? 向較大的對齊
- ?目的:計算機中的浮點數定點表示時小數點的位置是固定的,在小數的數值位的最前面,為了避免階碼較大的浮點數尾數左移導致最高位的丟失
?如x 的階碼為 Ex=010,y的階碼Ey=100,則Ex-Ey =-2,則x 右移兩位,階碼加2,這時x 和y 的階碼都是100,這個過程就是對階
尾數的加減操作
以雙符號位的補碼形式進行運算,方便判斷溢出的情況
其中若符號位的最高位還有進位則直接舍棄,因為機器的位數是有限制的
尾數的規格化
- 尾數的符號位為 01?或 10的情況,則進行右規,階碼加一,將符號位變成 00 或 11 ,其中符號位的新數繼承前一位符號位
- 尾數下溢時,進行舍入處理
?結果的舍入處理
在對階或者右規操作時,尾數的低位會移出,影響精度,因此要進行舍入處理
- 0 舍 1 入法:若低位是 0 ,則直接舍棄,若低位是1 ,則尾數加 1?
- 恒置 1 法:無論地位是什么,最低位恒置為 1
- 第一種方法精度較高,但需要記錄移出的值;第二種方法精度較低,但方便,適合用來制作運算器
?結果的溢出判斷
- 尾數溢出,在規格化時右規處理或者是舍入處理
- 階碼上溢時,置上溢標志
- 階碼下溢時,置為機器數 0
加減實例運算過程
注意:求得的都是補碼,要轉化為原碼的形式,才是真實的結果值
浮點數的乘除法
零操作數的檢查
若有零,則直接可得結果為零
階碼的加減操作
- 以補碼或移碼的形式,進行加減
- 若為乘法,則兩者相加
- 若為除法,則被除數的階碼減除數的階碼
尾數的乘除操作
定點數的乘除操作
具體操作戳這里👇
定點數的乘除運算法則(含實例運算過程)
結果的規格化、舍入處理及溢出的判斷
同上面加減的操作
具體的操作如下圖
?乘除實例運算過程
- 乘法
- 除法?
關于雙符號位的補充請見
https://blog.csdn.net/m0_51783792/article/details/123985218https://blog.csdn.net/m0_51783792/article/details/123985218
總結
以上是生活随笔為你收集整理的计算机组成原理:浮点数的加、减、乘、除运算(含实例完整运算)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Docker基础(一)
- 下一篇: 火狐导入书签乱码