在python中模擬單精度浮點的最好方法是什麼? (或者其他浮點格式?)只要使用ctypes?在Python中模擬單精度浮點的正確方法?
19
A
回答
21
3
如果您的應用程序適合陣列/矩陣,可以使用numpy的與float32
11
如果numpy
(其他答案的指教)不適用於你(例如,因爲你的環境是不允許任意的第三方擴展),Python標準庫中的array模塊也很好 - 類型代碼'f'
爲您提供了32位浮點數。除了那些和(通常的)雙精度浮點數之外,「其他浮點格式」沒有太多 - 你有什麼想法? (例如gmpy
爲GMP提供了對更長,任意位大小的浮點數提供適度支持 - 但它確實適度,例如沒有trig函數)。
6
如何從標準庫ctypes.c_float?
1
可以使用Python的struct
模塊將64位浮點數截斷爲32位浮點數的精度。
例如:
>>> x = 1.1122334455667788
>>> x
1.1122334455667788
>>> struct.unpack('f', struct.pack('f', x))[0]
1.1122334003448486
做算術只有32位浮點,則需要該截斷操作適用於每一個算術運算的結果。
相關問題
- 1. python中的浮點精度
- 2. 雙精度和單精度浮點數?
- 3. 在Python中控制浮點精度
- 4. 單精度大端浮點值到Python浮點數(雙精度,大端)
- 5. 處理單精度浮點和雙精度浮點的C代碼的正確設計?
- 6. python中精度浮點數的丟失
- 7. Python數組中的浮點精度
- 8. 定義浮點數的精度在Python
- 9. 無法在Scala中寫入雙精度浮點和雙精度浮點數的方法
- 10. 浮點精度
- 11. 增加浮點精度在Python
- 12. 在Python中做精確的浮點除法3
- 13. 如何截斷python中的浮點不精確度
- 14. 是在開普勒圖形上模擬雙精度浮點嗎?
- 15. 在Python中正確舍入浮點數的最簡單方法是什麼?
- 16. 如何模擬更精確的浮點數?
- 17. 與浮點精度
- 18. C++浮點精度
- 19. C#浮點精度
- 20. haskell浮點精度
- 21. XMLSerialization浮點精度
- 22. 在單元測試中模擬AngularJS服務的正確方法?
- 23. 從單精度浮點表示轉換爲半精度浮點數
- 24. 雙精度浮點數如何轉換爲單精度浮點格式?
- 25. Python 3.3.5浮點格式精度
- 26. Python浮點任意精度可用?
- 27. 雙精度浮點數和其他浮點數精度
- 28. 範圍縮減精度不高的單精度浮點數
- 29. 浮點運算的精度
- 30. 單精度浮點數仿真
你是什麼意思的「模仿」?從二進制blob讀取浮點數?以單精度執行數學並獲得與另一種語言相同的結果? (如果是後者,請注意x86上C語言中的「浮點」數學實際上是以80位計算的,而在存儲時則減少到32位。) – 2010-02-10 01:29:21