【问题标题】:precision errors with numpynumpy 的精度错误
【发布时间】:2020-04-27 16:20:50
【问题描述】:

谁能解释一下:

>>> numpy.array([22.0], dtype=numpy.float64) / (2 ** 11)
array([0.01074219])
>>> 22.0 / (2 ** 11)
0.0107421875
>>> 

Numpy 似乎会产生错误的结果,可能是某种精度错误。

我该如何解决这个问题?

【问题讨论】:

  • 非整数浮点数的小数点右边的最后一个非零数字始终是 5。我发现这个事实(不确定它写在哪里;我自己假设它)很有用.

标签: numpy floating-point precision floating-accuracy


【解决方案1】:
>>> numpy.set_printoptions(precision=15)
>>> numpy.array([22.0], dtype=numpy.float64) / (2 ** 11)
array([0.0107421875])

解决这个问题

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-12-18
    • 2017-02-17
    • 1970-01-01
    • 2020-03-27
    • 2015-05-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多