日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

计组之数据运算:9、浮点数的表示

發布時間:2025/3/15 编程问答 15 豆豆
生活随笔 收集整理的這篇文章主要介紹了 计组之数据运算:9、浮点数的表示 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

9、浮點數的表示

  • 思維導圖
  • 定點數存在的問題:(浮點數產生的原因)
  • 浮點數的表示格式
    • 浮點數與科學計數法的比較
    • 浮點數的格式
    • 浮點數與真值的轉化
    • 存在的問題
  • 規格化
    • 科學計數法的規格化
    • 浮點數的規格化方法
    • 浮點數規格化特點
    • 倆個規格化的浮點數的加減操作:
  • 待解決問題:

思維導圖

定點數存在的問題:(浮點數產生的原因)

當我們要存儲一個數值時,需要考慮到數值的大小問題;例如,當存儲一個156時用char型即可,存儲8500時,用short型即可;但是當一個數值非常非常的大時,要怎么進行存儲呢?例如我們要存儲2億億億億這么大一個數,采用定點數的方式存儲就會產生問題。因此產生了浮點數。(浮點數的表示類似與科學計數法)

浮點數的表示格式

浮點數與科學計數法的比較

先來看一下十進制的科學計數法

+3.026*10^11是十進制的科學計數法,他可以拆分成5部分:
1、數值的符號:即第一個正號,又稱數符
2、數值的大小:3.026,又稱尾數
3、階碼的數值:11
4、階碼的底數:10(對于科學計數法為10,對于浮點數來說就為2,一般沒有特別說明是默認的,所以在存儲表示中不需要存儲)
5、階數的符號:即11前面隱含的正號,又稱階符

所以,在對科學計數法進行存儲時,需要存儲的有四部分:階符、階碼的數值、數符、尾數

類比與科學計數法,浮點數的存儲與其不同之處就在于階碼的底數,而在浮點數存儲中,默認為2^i,無特別說明為2

浮點數的格式

階碼:反映了浮點數的表示范圍及小數點的實際位置
尾數的數值部分位數:反映了浮點數的精度

浮點數與真值的轉化

存在的問題

對于上圖中求真值b的過程中,無法用1B的存儲空間進行存儲(需要9位),這樣會舍棄最低位的1,結果會造成精度的丟失。所以,我們如何利用盡可能小的存儲空間存儲盡可能大的數值呢?因此產生了規格化的概念。

規格化

科學計數法的規格化

我們都知道,科學計數法要求小數點在數值的第一個有效位的后面;例如,我們表示235000,會寫成2.35x105而不會寫成235x103;這樣的規定就是科學計數法的規格化

浮點數的規格化方法

類比與科學計數法的規格化,規定尾數的最高位數值必須是一個有效值。

eg:

對于上文提到的求b的真值的過程,我們可以通過左規操作使b規格化,結果是可以用1B的存儲空間進行存儲(8位,上文中未左規9位)

浮點數規格化特點

倆個規格化的浮點數的加減操作:

階數:補碼,位數:原碼
a:00,010;00,0110
b:00,011;00,0101
1、求a,b真值

a:階數:2,尾數6,真值:6x22
b:階數:3,尾數5,真值:5x23

2、求a+b的值

1、求階差:011-010=001,階差為1
2、補階差:將階數小的與階數大的對齊,并進行移位保證a的數值不變
a:00,011;00,0011
3、尾數運算:0011+0101=1000
4、得出結果:a+b:00,011;00,1000
5、規格化:此結果以規格化;若非規格化則需要通過左規與右規進行規格化

待解決問題:

階碼、尾數用什么碼合適?用多少位合適?如何定義一個標準可以進行不同計算機浮點數的通訊?見下篇博客:IEEE754標準

總結

以上是生活随笔為你收集整理的计组之数据运算:9、浮点数的表示的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。