相关疑难解决方法(0)

以尽可能小的量增加python浮点值

我正在使用浮点值作为字典键.

偶尔,偶尔(也许永远,但不能肯定从来没有),就会出现冲突.我想通过将浮点值递增尽可能小的数量来解决这些问题.我怎样才能做到这一点?

在C中,我会旋转尾数的位来实现这一点,但我认为在python中是不可能的.

python

62
推荐指数
7
解决办法
1万
查看次数

这里的舍入错误的本质是什么?

有人可以帮我解开引擎盖下的确切内容吗?

>>> 1e16 + 1.
1e+16
>>> 1e16 + 1.1
1.0000000000000002e+16
Run Code Online (Sandbox Code Playgroud)

我使用的是64位Python 2.7.对于第一个,我会假设因为浮点数只有15的精度,所以它只是四舍五入的错误.真正的浮点答案可能是这样的

10000000000000000.999999....
Run Code Online (Sandbox Code Playgroud)

小数只是被削减了.但第二个结果让我质疑这种理解,不能完全代表?有什么想法吗?

[ 编辑:只是澄清一下.我并不以任何方式暗示答案是"错误的".显然,他们是对的,因为他们是.我只是想了解原因.]

python floating-point

11
推荐指数
2
解决办法
753
查看次数

标签 统计

python ×2

floating-point ×1