亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在16位、32位和64位IEEE-754系統中,可以表示什么范圍的數字?

在16位、32位和64位IEEE-754系統中,可以表示什么范圍的數字?

在16位、32位和64位IEEE-754系統中,可以表示什么范圍的數字?我知道浮點數是如何表示的,但恐怕還不夠。總的問題是:對于給定的精度(就我的目的而言,基數10中的精確小數位數),16位、32位和64位IEEE-754系統的數字范圍是多少?具體來說,我只對精確到+/-0.5(1位)或+/-0.0005(千分之一位)的16位和32位數字的范圍感興趣。
查看完整描述

3 回答

?
溫溫醬

TA貢獻1752條經驗 獲得超4個贊

為某一給定IEEE-754浮點數X,如果

2^E <= abs(X) < 2^(E+1)

那么距離X到下一個可表示的最大浮點數(埃普西隆)是:

epsilon = 2^(E-52)    % For a 64-bit float (double precision)
epsilon = 2^(E-23)    % For a 32-bit float (single precision)
epsilon = 2^(E-10)    % For a 16-bit float (half precision)

根據上述方程式,我們可以計算出下列各點:

  • 半精度...

    如果您希望獲得+/-0.5(或2^-1)的精度,則該數字的最大大小為2^10。任何大于此的值,浮點數之間的距離都大于0.5。

    如果您想要一個+/-0.0005的精度(大約2^-11),那么這個數字的最大大小是1,任何大于這個值的值,浮點數之間的距離都大于0.0005。

  • 單精度...

    如果希望精度為+/-0.5(或2^-1),則該數字的最大大小為2^23。任何大于此和浮點數之間的距離都大于0.5。

    如果您希望獲得+/-0.0005(約2^-11)的精度,則該數字的最大大小為2^13。任何大于此的值和浮點數之間的距離都大于0.0005。

  • 雙精度...

    如果希望精度為+/-0.5(或2^-1),則該數字的最大大小為2^52。任何大于此和浮點數之間的距離都大于0.5。

    如果要獲得+/-0.0005(約2^-11)的精度,則該數字的最大大小為2^42。任何大于此和浮點數之間的距離都大于0.0005。


查看完整回答
反對 回復 2019-07-06
?
Qyouu

TA貢獻1786條經驗 獲得超11個贊

對于浮點整數(我將用ieee雙精度給出我的答案),1到2^53之間的每一個整數都是完全可表示的。在2^53以上,完全可表示的整數通過增加2的冪來分隔。例如:

  • 2^53+2和2^54之間的第二個整數可以精確表示。
  • 2^54+4和2^55之間的第四個整數可以精確地表示。
  • 2^55+8和2^56之間的每8個整數都可以精確地表示。
  • 2^56+16和2^57之間的每16個整數都可以精確地表示。
  • 在2^57+32和2^58之間的每32個整數都可以精確地表示。
  • 2^58+64和2^59之間的每64個整數都可以精確地表示。
  • 2^59+128和2^60之間的每128個整數都可以精確表示。
  • 在2^60+256和2^61之間的每256個整數都可以精確地表示。
  • 2^61+512和2^62之間的每512個整數都可以精確表示。......

不完全可表示的整數被四舍五入到最近的可表示整數,因此最壞的情況是舍入為可表示整數之間的間隔的1/2。


查看完整回答
反對 回復 2019-07-06
?
largeQ

TA貢獻2039條經驗 獲得超8個贊

從Peter R的鏈接到MSDN Ref的精確引用可能是一個很好的經驗法則,但當然現實要復雜得多。

“浮點”中的“點”是雙星小數點而不是小數點有一種方法可以打敗我們的直覺。典型的例子是0.1,它只需要一個小數位數的精度,但根本不能用二進制表示。

如果你有周末要消磨時間,看看關于浮點算法,每個計算機科學家都應該知道些什么?..您可能特別感興趣的是精密度二進制到十進制轉換.


查看完整回答
反對 回復 2019-07-06
  • 3 回答
  • 0 關注
  • 1235 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號