我知道今天的計算機如何存儲負整數,大多數計算機使用2'補碼。我只是想知道2'補碼法適用於所有類型的浮點數字嗎?負浮點數表示爲負整數嗎?
2
A
回答
3
不,浮點不使用2補碼錶示,但所有二進制實現具有符號位,可以保證所有值(除了其中的NaN跡象沒有意義)可以測試浮點數的整數表示 與< 0. 這是因爲如果第一位被設置,則2補碼中的整數也爲負數。 但是有意義和指數都不使用2補碼錶示法。
0
有不同種類的浮點數表示法,但我記得大多數類似於符號位(1 =正數),然後是2s補數指數值,然後是2s補碼尾數值與最顯着當指數爲零時位於1s位置。
請注意,在這種安排中,您可以使用整數比較大/小。
編輯
以上顯然是基於錯誤的記憶,但在http://en.wikipedia.org/wiki/Binary32有一個很好的解釋了。
基本上,...
- 第一位是數字的符號,這也是尾數
- 接下來的幾個位爲指數,其可以是無符號或爲的符號使用2-s補碼進行簽名。
- 其餘位是尾數,減去隱含的前導「1」。
- 零是一個特殊的情況下...
+0
錯誤。指數和尾數都不使用2補碼。 –
+0
如果使用「整數比較」,則意味着將浮點數的編碼重新解釋爲整數並對其進行比較,然後對於負數進行失敗。它也未能報告-0等於+0。 –
相關問題
- 1. 浮點計數,負數零?
- 2. 將負數浮點數轉換爲無符號整數
- 3. 浮點溢出爲負
- 4. Android浮點數和負數驗證
- 5. 正整數爲負數
- 6. Double.MaxValue爲整數是負數?
- 7. 顯示整數和整數浮點數作爲浮點數
- 8. 浮點數表示的整數表示
- 9. 如何將帶負整數的NSString轉換爲負整數
- 10. 負整數Javascript
- 11. 非負整數
- 12. 整數除負數
- 13. 負數浮點減法電路
- 14. 範圍浮點數和負的步
- 15. 使用負值和正值對整數和浮點數列表進行排序?
- 16. C思維:浮點數與整數和浮點數表示法
- 17. 在JavaScript中將負浮點數轉換爲正數
- 18. 負整數比較
- 19. Haskell coprime負整數?
- 20. 存儲非負浮點值
- 21. 用於負零浮點值?
- 22. 擊浮點和負值
- 23. (ASM)如何使正整數爲負數?
- 24. 從0遞增整數變爲負數
- 25. 正則表達式在Python中爲正整數和負整數
- 26. 驗證逗號分隔的數字與正/負整數和浮點數
- 27. 使用awk和grep提取負數/正數浮點數
- 28. 將字符串轉換爲Javascript中的負浮點數
- 29. 插入後綴讀取負整數作爲負
- 30. 散列正整數/負整數序列
根據IEEE 754標準,NaN確實有符號位。它不能通過與0進行比較來進行測試,因爲與NaN的順序關係的每個測試都返回false,但可以分別檢查符號位,其中函數依賴於語言。 –
是的,NaN有一個內部符號位,但它沒有意義。由於NaNs是「不是數字」,所以符號和指數/尾數都沒有任何意義。你可以使用尾數位(除了MSB,它定義了它是否是一個安靜的NaN /信號NaN)作爲錯誤代碼(並且在符號位中包含符號位),但是一個整數比較<0在所有其他數字上不適用於NaN,因爲沒有「正」或「負」NaN。 –