有人可以向我解釋將十進制格式(如2+(2/7))轉換爲IEEE 754浮點表示的步驟嗎?謝謝!如何將2+(2/7)轉換爲IEEE 754浮點
0
A
回答
1
首先,2 + 2/7
不是大多數人稱之爲「十進制格式」的東西。 「十進制格式」會更普遍被用來表示一個數字,如:
2.285714285714285714285714285714285714285714...
即使...
有點朝三暮四。更常見的是,這個數字將被截斷或四捨五入到一定數量的小數位數:
2.2857142857142857
當然,在這一點上,它不再是正好等於2 + 2/7
,但「足夠接近」對於大多數的用途。
我們做類似的操作將一個數字轉換爲IEEE-754格式;代替基體10的,我們首先在基體2寫入數:
10.010010010010010010010010010010010010010010010010010010010010...
接下來我們「正常化」的個數,通過在形式2^e * 1.xxx...
寫入它的一些指數e
(具體地,前導的數位位置我們的數位):
2^1 * 1.0010010010010010010010010010010010010010010010010010010010010...
在這一點上,我們必須選擇一個特定的IEEE-754格式的,因爲我們需要知道有多少位保持周圍。我們選擇具有24位有效位數的「單精度」。我們圓重複二進制數爲24位:
2^1 * 1.00100100100100100100100 10010010010010010010010010010010010010...
24 leading bits bits to be rounded away
因爲尾隨位四捨五入比1000...
越大,輪數最多:
2^1 * 1.00100100100100100100101
現在,如何做其實這個值以IEEE-754格式編碼?單精度格式中已處於領先signbit(零,這是因爲數是正的),之後是包含二進制值127 + e
八位,後跟該有效的小數部分:
0 10000000 00100100100100100100101
s exponent fraction of significand
在十六進制這給了0x40124925
。
相關問題
- 1. 使用IEEE 754將浮點數轉換爲基數10使用IEEE 754
- 2. 如何浮點數轉換爲IEEE 754使用匯編
- 3. 將pre-IEEE-754 C++浮點數轉換爲C#中的
- 4. 將二進制32位IEEE-754浮點數轉換爲.net
- 5. 將十六進制字符串轉換爲IEEE 754浮點數
- 6. 在C#中將十六進制轉換爲IEEE 754浮點數
- 7. IEEE 754和浮點精度
- 8. IEEE 754浮點表示法
- 9. 如何將十六進制轉換爲IEEE 754 32位浮點C++
- 10. 如何將IEEE 754單精度浮點格式轉換爲小數?
- 11. 轉換爲IEEE 754單精度浮點格式幫助
- 12. 將十六進制轉換爲IEEE 754
- 13. 轉換IEEE 754浮點數與C詛咒 - printf的
- 14. 轉換IEEE 754浮點數以十六進制字符串
- 15. Java - 將十六進制轉換爲IEEE-754 64位浮點數 - 雙精度
- 16. 爲什麼IEEE-754浮點在平臺之間不可交換?
- 17. IEEE-754單精度浮點數mips
- 18. Java浮點到IEEE-754十六進制?
- 19. IEEE-754浮點數舍入機制
- 20. ,64位和80位浮點IEEE-754?
- 21. 從IEEE-754轉換爲十進制
- 22. 如何將手動IEEE 754輸入到浮點數?
- 23. 如何輸出IEEE-754格式的整數作爲浮點數
- 24. 如何將十六進制轉換爲IEEE浮點python
- 25. 754在IEEE 754浮點數中意味着什麼?
- 26. 的Postgres從包含浮動BYTEA(IEEE 754)真實(個float4)轉換
- 27. 如何將浮點數轉換爲double(都存儲在IEEE-754表示中)而不會失去精度?
- 28. 如何將4位浮點數轉換爲2位浮點數
- 29. Java轉換HEX到IEEE 754 32位值...?
- 30. 將十進制轉換爲IEEE-754格式
你問關於彙編代碼中的算術表達式求值器,還是什麼? – 2011-04-21 23:46:24
算術表達式 – 2011-04-21 23:50:55
你的意思不僅僅是「2.0+(2.0/7.0)」?你想在IEEE754中使用這些數字的二進制表示形式,以及關於加法和除法如何工作的描述,或者其他什麼? – 2011-04-22 16:56:35