跟进this question ,看来有些数字根本无法用 float 表示,而是用近似值表示。
float 是如何存储的?
不同尺寸有通用标准吗?
如果使用浮点,需要注意哪些问题?
它们是否跨语言兼容(即,我需要处理哪些转换才能通过 TCP/IP 将 float 从 python 程序发送到 C 程序)?
最佳答案
如上所述,Wikipedia article on IEEE 754很好地展示了 float 在大多数系统上的存储方式。
现在,这里有一些常见的问题:
- 最大的问题是您几乎不想比较两个 float 是否相等(或不相等)。您需要使用大于/小于比较。
- 对 float 进行的运算越多,舍入误差就越大。
- 精度受到分数大小的限制,因此您可能无法正确添加相隔几个数量级的数字。 (例如,您无法将 1E-30 添加到 1E30。)
关于floating-point - float 是如何存储的?什么时候重要?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56947/