在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. python中精度浮点数的丢失
- 6. Python数组中的浮点精度
- 7. 无法在Scala中写入双精度浮点和双精度浮点数的方法
- 8. 浮点精度
- 9. 在Python中做精确的浮点除法3
- 10. C++浮点精度
- 11. 与浮点精度
- 12. haskell浮点精度
- 13. XMLSerialization浮点精度
- 14. 双精度浮点数如何转换为单精度浮点格式?
- 15. Python浮点任意精度可用?
- 16. 范围缩减精度不高的单精度浮点数
- 17. 单精度浮点数仿真
- 18. 打印最大单精度浮点数
- 19. 获取浮点型IEEE单精度位
- 20. 将单精度浮点乘以2
- 21. IEEE-754单精度浮点数mips
- 22. 简单的方法来删除Elixir中不必要的浮点精度?
- 23. 转换单精度浮点到半精度MIPS
- 24. 在Python中格式化浮点到一定的精度
- 25. 如何以精确的精度在Python中打印双精度?
- 26. 浮点数减法精度差
- 27. 浮点不精确printf/appendFormat
- 28. 更改浮点型精度
- 29. 本征浮点精度
- 30. MongoDB浮点值精度?
你是什么意思的“模仿”?从二进制blob读取浮点数?以单精度执行数学并获得与另一种语言相同的结果? (如果是后者,请注意x86上C语言中的“浮点”数学实际上是以80位计算的,而在存储时则减少到32位。) – 2010-02-10 01:29:21