如何將106十進制數轉換爲9位浮點數,其中msb是帶有4位指數和4位尾數的符號?可能嗎?十進制浮點數9位
十進制浮點數9位
回答
每通過OP註釋,所討論的浮點格式遵循IEEE-754規範,所以它使用與隱式整數位尾數表示,並且具有最小的指數編碼一個偏置指數爲零和非正規數和所保留的最大的指數編碼保留給infinities和NaNs。
106(十進制)= 1.10101 * 2 (二進制)。在所提出的IEEE型九比特浮點格式中,指數偏差爲7.歸一化操作數的大小爲2 -6≤| x | 。因此,106是描述範圍自2 = 256
然而,106是不能表示準確,因爲它需要五個分數尾數位,而只有四個由所提出的格式提供內。使用舍入到最接近或者偶數的最接近的可表示的數字是1.1010 * 2 = 104.其二進制編碼是0_1101_1010。
我想你想要2^8 = 256(所以'106' *是*在可表示的範圍內,雖然在舍入之前實際上不能表示)。而106是'1.10101 * 2^6',而不是'1.10101 * 2^8'。 –
@MarkDickinson:你說得對,不知道我是怎麼弄錯的,除了我在第一杯咖啡前發佈的。我馬上解決這個問題。 – njuffa
是的,對於其他優秀答案的挑剔表示歉意。 (我已經upvoted。) –
- 1. 十六進制浮點數
- 2. 十進制浮點數
- 3. 將十進制值轉換爲32位浮點十六進制
- 4. 十進制浮點系統。
- 5. 十六進制十進制浮點數Python
- 6. 浮點二進制到十進制?
- 7. Lua - 十六進制浮點數
- 8. 浮點數到大十進制
- 9. 十進制到半精度浮點數
- 10. 從十進制轉換爲浮點數
- 11. 從十六進制到浮點數 - Javascript
- 12. 浮點數字 - SAS十進制問題
- 13. 浮點到十進制和十進制浮點。所有轉換一般
- 14. 將二進制浮點數轉換爲十六進制浮點數
- 15. Float24(24位浮點數)爲十六進制?
- 16. 用十進制數表示的二進制浮點數
- 17. 以十進制和浮點格式打印十六進制值
- 18. 將IEEE浮點十六進制轉換爲十進制?
- 19. 將十進制浮點數轉換爲二進制
- 20. 將十進制浮點數轉換爲二進制並返回
- 21. 十六進制浮點舍入
- 22. Java浮點到IEEE-754十六進制?
- 23. C#浮點十進制轉換
- 24. 皈依浮點和十進制
- 25. layout_weight在浮點和十進制
- 26. 浮點十六進制八進制二進制
- 27. 十六進制字符串與浮點數浮動
- 28. Python如何將十六進制浮點數轉換爲十進制
- 29. 什麼是9位二進制到十進制的轉換?
- 30. 理解一個32位浮點爲十進制0.2
爲了制定一個答案,瞭解這個浮點格式是否遵循用於IEEE-754二進制浮點格式的慣例將是有用的。特別是,它是否使用了一個有偏指數,其指數值0保留給零和非正規數,並且指數值0xF(即十進制15)爲無窮大和NaN保留? – njuffa
是IEEE-754格式 – Austin
由於IEEE 754沒有指定9位格式,所以「IEEE 754」本身還不夠好。例如,我們仍然需要知道指數偏差是什麼。 (基於確實存在的IEEE 754格式,我猜* 7的指數偏差,但這是一個猜測。)如果您有示例值和相應的位模式,這將有助於理解格式。 –