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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

IEEE 754 浮点数的表示方法

發布時間:2024/9/18 综合教程 49 生活家
生活随笔 收集整理的這篇文章主要介紹了 IEEE 754 浮点数的表示方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1、在電氣和電子工程師協會IEEE 754 標準中

float單精度浮點數(4個字節,32位)在機器中表示:用1位表示數字的符號(正負號),8位表示指數,23位表示尾數(即小數部分)

double雙精度浮點數(8個字節,64位):1位表示符號(正負號),11位表示指數,52位表示尾數

浮點數階碼E“指數e的移碼-1”表示,還可以用階碼E的移碼(特殊的移碼)+階碼E的真值(即指數)表示。

階碼的移碼:假設階碼用8個二進制位表示,則該階碼的移碼為 2(n-1) ,但注意這里的移碼是特殊的移碼,僅偏移2(n-1)-1=127 。

2、浮點數的規格化

同一浮點數表示方式不唯一(如1.5=1.01x2(0) =0.101*2(1)),所以規定當尾數不為0時,向左或向右移動小數點,使得小數點左邊始終為1(即1.M的格式)。

3、單精度浮點數真值

一個規格化32位的浮點數x的真值表示為:x=(-1)(s)x(1.M)x2(e) , e=E-127 , E=e的移碼-1

4、十進制到機器碼

(1)0.5=(0.1)(二進制),符號位s為0,指數為e=-1,規格化后尾數為1.0

單精度浮點數尾數域(從小數點后開始)共23位,右側以0補全,尾數域:

M=[000 0000 0000 0000 0000 0000](二進制)

階碼E:E=[-1](的移碼)-1=[0111 1111](二進制)-1=[0111 1110](二進制)

或者 E=127(2(8-1)-1,特殊的移碼)+(-1)(指數)=126=[0111 1110](二進制)

將符號位s,階碼E和尾數域M存放到指定位置,可得0.5的機器碼為:

0.5=[0011 1111 0000 0000 0000 0000 0000 0000](二進制)

十六進制表示為:0.5=0x3f000000 (0x:表示十六進制,0011:3,1111:f,)

(2)1.5=[1.1](二進制),符號位為0,指數e=0,規格化后尾數為1.1。

尾數域M右側以0補全:M=[100 0000 0000 0000 0000 0000](二進制)

階碼E:E=[0](的移碼)-1=[10000000](二進制)-1=[01111111](二進制)

得1.5的機器碼:1.5=[0011 1111 1100 0000 0000 0000 0000 0000](二進制)

十六進制表示:1.5=0x3fc00000

(3)?12.5=[?1100.1](二進制) ,符號位S為1,指數e為3,規格化后尾數為1.1001,

尾數域M右側以0補全:
M=[100 1000 0000 0000 0000 0000] (二進制)

階碼E:
E=[3](的移碼)?1=[1000 0011](二進制)?1=[1000 0010](二進制)

即-12.5的機器碼:
?12.5=[1100 0001 0100 1000 0000 0000 0000 0000](二進制)

十六進制表示:-12.5=0xc1480000 。

5、機器碼到十進制

若某個浮點數的IEEE 754標準存儲格式為0x41360000,那么其浮點數的十進制數值為多少:

0x41360000=[0 10000010 011 0110 0000 0000 0000 0000]

有上述機器碼可知符號位s=0,指數e=階碼-127=1000 0010-127=130-127=3,或者階碼+1=移碼,移碼變換為原碼求得指數 ,10000010+1=10000011(移碼)=00000011(原碼)=3(指數e)

尾數域為:011 0110 0000 0000 0000 0000,第一個0的左邊隱藏了一個1,即尾數1.M=1.011 0110 0000 0000 0000 0000

于是:x=(-1)(s)x1.Mx2(e)=+(1.011011)x2(3)=+1011.011=(11.375)(十進制)

6、浮點數的特殊情況

(1)0的表示(32位為例)

如果階碼E=0,且尾數M是0,則這個數的真值為+0或-0

+0機器碼為:0 00000000 000 0000 0000 0000 0000 0000

-0機器碼為:1 00000000 000 0000 0000 0000 0000 0000

浮點數不能精確表示0,而是以很小的數來近似表示0,以32位單精度浮點數為例:

x=(-1)(s)x(1.M)x2(e) , e=E-127

+0的機器碼對應的真值為:1.0x2^(-127)

-0的機器碼對應的真值為: -1.0x2^(-127)

(2) ±∞的表示(32位為例)

如果階碼E=255,且尾數M是0,則這個數的真值為+∞或-∞

+∞的機器碼為:0 11111111 000 0000 0000 0000 0000 0000

-∞的機器嗎為:1 11111111 000 0000 0000 0000 0000 0000

x=(-1)(s)x(1.M)x2(e) , e=E-127

+∞的機器碼對應真值為:1.0x2^(128)

-∞的機器碼對應真值為:-1.0x2^(128)

7、浮點數的精度

浮點數的精度是由尾數的位數來決定的:

對于float型浮點數,尾數部分23位,換算成十進制就是 2^23=8388608,所以十進制精度只有6 ~ 7位;
對于double型浮點數,尾數部分52位,換算成十進制就是 2^52 = 4503599627370496,所以十進制精度只有15 ~ 16

例題:以下例題是在java編譯環境下檢測的。

1、為什么以下返的結果為true?

System.out.println(1f==0.99999999f);
//結果返回 true

分析:

1.0(十進制)=1.0(二進制)* 20

0 01111111 0000000 00000000 00000000(二進制)

0x3F800000(十六進制)

0.99999999(十進制)

=0.111 111 111 111 111 111 111 111110(二進制)

(猜測:浮點數的尾數只有23位,事先將第24位加一,把進位加到第23位,結果為1.0000000 00000000 00000000)

(實際上和編譯器有關,當小數點后的23位全為0時,編譯器就當成全0處理,即0.0000000 00000000 00000000)

=0.0000000 00000000 00000000* 20

? ↓
0 01111111 0000000 00000000 00000000(二進制)
? ↓
0x3F800000(十六進制)

原因:float型浮點數十進制精度只有6 ~ 7位,而0.99999999f小數點后有8位,超出了精度范圍(猜測產生了進位)。

2、為什么以下返回的結果為`false`?

System.out.println(1f==0.9999999f);
//結果返回 false

分析:

0.9999999(十進制)

=0.1111111 11111111 111111110(二進制)

(第24位為0加一不產生進位,所以結果是小數點后23個1,最后進行規范化處理缺位補0)

=1.111111 11111111 11111110(二進制) * 2-1

? ↓
0 01111110 1111111 11111111 11111110(二進制)
? ↓
0x3F7FFFFE(十六進制)

這些只是我個人的理解,可能不是很精確,如有錯誤歡迎指正,相互交流共同進步!

參考文獻

[1] IEEE754 浮點數的表示方法
[2] 都工作兩年了,還不知道浮點數如何轉二進制?

歡迎轉載學習,只需注明文章出處即可(https://www.cnblogs.com/gyunf/)
,謝謝!

總結

以上是生活随笔為你收集整理的IEEE 754 浮点数的表示方法的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 毛片av免费看 | 国内精品视频一区二区三区 | 91免费网站入口 | 一区在线观看视频 | 日韩免费在线视频观看 | 校园伸入裙底揉捏1v1h | 成人美女免费网站视频 | 国产中文欧美日韩在线 | 国产一区二区在线免费观看 | 99热免费在线观看 | 欧美激情在线免费 | 污网站在线播放 | 中文字幕av一区二区三区 | 欧美成人三级伦在线观看 | 91精品国产91久久久 | 亚洲欧美精品一区二区三区 | 蜜桃av噜噜一区二区三区麻豆 | 无限国产资源 | 日本久久一区二区 | 精品久久久久久久久久久久久久久 | 亚洲免费在线视频观看 | 国产精品91一区二区 | 久久久久久成人 | 香蕉色综合 | 97黄色片 | 日韩欧美黄色大片 | xxxx亚洲 | 欧美一区二区三区粗大 | 色欲久久久天天天综合网 | 美国成人免费视频 | 日韩人妻无码一区二区三区 | 激情综合网婷婷 | 久久久久伊人 | 国产模特av私拍大尺度 | 性高跟鞋xxxxhd国产电影 | 免费观看理伦片在线播放视频软件 | 黄色一级毛片 | 日韩欧美区 | 精品人妻人伦一区二区有限公司 | www.超碰在线.com | 午夜av免费| 99re6在线视频| 狠狠做深爱婷婷久久综合一区 | 日日噜噜噜夜夜爽爽狠狠视频97 | 中文字幕亚洲欧美日韩在线不卡 | 欧美久久激情 | 无码人妻精品一区二 | 日韩精品2 | 99久久婷婷国产精品综合 | 大帝av | 综合久久伊人 | 色91在线 | 91黄色视屏 | 成人av电影网站 | 成人性生活免费视频 | 国产精品video| 欧美极品在线播放 | 日韩性高潮 | 激情av在线播放 | 免费在线观看a视频 | 精品视频一区二区三区四区 | 欧美情趣视频 | 久久九九爱| 亚洲精品影院在线 | 亚洲一线视频 | 欧美三级黄色 | 国产精品白嫩白嫩大学美女 | 国产91视频在线 | av在线免费网址 | 久久久免费精品视频 | 四虎免费网址 | 亚洲视频www | 在线观看的黄网 | 亚洲午夜av | 99色亚洲 | 色视频在线观看 | 欧美伦乱 | 人妻熟女一区二区aⅴ水 | 欧美成人精品一区二区综合免费 | 国产特级淫片免费看 | 亚洲一线在线观看 | 欧美一级做a爰片免费视频 成人激情在线观看 | 国产一区二 | 天天色宗合 | av日韩不卡| 中文日韩在线观看 | 有机z中国电影免费观看 | 中文字幕在线导航 | 日韩激情网站 | 成人做受视频试看60秒 | 成人国产一区二区三区精品麻豆 | 少妇人妻无码专区视频 | 亚洲最新av在线 | 午夜精品999 | 伊人网站在线观看 | 亚洲自拍偷拍精品 | 涩涩视频在线播放 | 超碰888| 西西人体44www大胆无码 |