一研為定,萬山無阻!
文章目錄
- 浮點數的表示
- 浮點數規格化
- 規格化浮點數的特點
- 原碼表示尾數的規格化
- 補碼表示尾數的規格化
- 總結
- IEEE 754
- 移碼
- IEEE754 標準
- 長短浮點數計算正值
- 最小絕對值與最大絕對值
- 階碼全0與1的特殊用途
- 總結
- 浮點數的運算
- 加減運算
- 例子
- 舍入的形式
- 浮點數的強制型別轉換
- 總結
浮點數的表示

-
階碼反映 數值大小
-
尾數反映 數值精度

-
階碼 E :常用補碼或移碼表示的定點整數 (因為:階碼只能表示整數哈)
-
尾數 M :常用原碼或補碼表示的定點小數
注意 : 正數 原補碼 不變


- 補碼轉原碼方法 : 符號位不變 其余每位取反然后加 1
浮點數規格化
- 當計算機存盤不下時,會發生精度損失

左規: 即為將尾數最高的無效位省去,向左減一(階碼減一)

- 注意:采用(雙符號位),當溢位發生時,可以挽救,更高的符號位是正確的符號位,
規格化浮點數的特點
原碼表示尾數的規格化

- 注意: 畫紅線 處必定為
1,因為 類似于科學計數法 首位必須為1 - 規格化的原碼尾數,最高數值位定是1
補碼表示尾數的規格化

- 注意: 符號位與數值第一位 必須相異
- 規格化的補碼尾數,符號位與最高數值位一定相反
例題:

答案 :0.011 , 1.0100000
總結

IEEE 754
移碼
-
移碼:補碼的基礎上將符號位取反,注意:移碼只能用于表示整數

-
移碼的定義 : 移碼 = 正值 + 偏置值

-
偏置值一般取
2^(n-1),此時 移碼=補碼符號位取反
注意 : 偏置值 也可以 取其他值 2^(n-1) - 1

上圖 規律為 上次移碼 向下 移一格
IEEE754 標準

- 注意 : 階碼 8 位 表示的正常范圍
-126 ~ 127因為全 1 與 全 0 用于特殊用途
長短浮點數計算正值

例子 🌰
- 十進制轉二進制

- 十六進制 -> 二進制 --> 十進制

最小絕對值與最大絕對值
-
單精度

-
雙精度

階碼全0與1的特殊用途
- 階碼 全為 0 的情況

- 階碼 全 為 1 的特殊情況

總結

浮點數的運算
加減運算

- 1、對階
- 2、尾數相加
- 3、規格化
- 4、舍入
- 5、判溢位
階數對齊的策略 : 階數小向階數更大的數對齊
例子
-
0、如果格式不同,需要轉換格式

-
1、對階 : 判斷大小的方法,兩個數的階碼相減
-
即為另外一個數包括符號位取反 再 加 1
eg : 上面 11011 與 11100

2、3、4 尾數加減與規格化

5、判溢位
- 判斷階碼是否溢位 : 雙符號位 +1 ,看看是否改變

舍入的形式

浮點數的強制型別轉換

總結

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/279983.html
標籤:其他
