-1
Q
浮點溢出爲負
A
回答
0
在IEEE類型float(浮點32位,雙64位,長雙80位)的情況下,數字存儲類似於符號+大小而不是二進制補碼。指數也沒有正常範圍,具有零或全部一位的特殊值。雙維基文章:
https://en.wikipedia.org/wiki/Double-precision_floating-point_format
如果做這樣的事情基數排序浮動類型的數組不包含特殊值的情況下(類似於無窮大,NAN,...),從符號的轉換和通常使用幅度到「二進制補碼」。示例C用於在64位符號和幅度之間轉換爲無符號long long(64位無符號整數)並返回的宏。請注意,這導致轉換後的符號和幅度值爲負零,小於正零。
// converting doubles to unsigned long long for radix sort or something similar
// note -0 converted to 0x7fffffffffffffff, +0 converted to 0x8000000000000000
// -0 is unlikely to be produced by a float operation
#define SM2ULL(x) ((x)^(((~(x) >> 63)-1) | 0x8000000000000000ull))
#define ULL2SM(x) ((x)^((((x) >> 63)-1) | 0x8000000000000000ull))
相關問題
- 1. 浮點溢出
- 2. 爲什麼`inf`代表浮點溢出?
- 3. C中的浮點溢出#
- 4. 字符或浮點溢出
- 5. 避免浮點溢出?
- 6. 溢出和浮
- 7. Python浮點溢出,float溢出時會發生什麼?
- 8. 要捕獲浮點溢出excepiton
- 9. 如何處理浮點溢出?
- 10. 如何處理浮點溢出?
- 11. 奇怪的Firefox溢出/浮動行爲
- 12. 存儲非負浮點值
- 13. 用於負零浮點值?
- 14. 擊浮點和負值
- 15. 浮點計數,負數零?
- 16. Div溢出並排浮動?
- 17. 文本溢出浮動div
- 18. CSS溢出左浮動
- 19. 負浮點數表示爲負整數嗎?
- 20. 如何浮點溢出輸入輸出流
- 21. CSS:如果塊溢出,強制塊出現在浮點塊下
- 22. 如何將短浮點類型轉換爲短類型並在短類型溢出時截斷浮點類型?
- 23. 溢出與浮點內的絕對位置衝突
- 24. 如何添加導致溢出兩個浮點數字
- 25. z索引內浮動,而不溢出到兄弟節點
- 26. 添加幾個小浮點值溢出到無限
- 27. 浮點溢出但不是當C中的printf參數?
- 28. 如何處理浮點下溢?
- 29. C語言中的浮點下溢
- 30. 具有溢出的ARM霓虹燈浮點整數轉換行爲