相关疑难解决方法(0)

Python float - str - float怪异

>>> float(str(0.65000000000000002))

0.65000000000000002

>>> float(str(0.47000000000000003))

0.46999999999999997     ???
Run Code Online (Sandbox Code Playgroud)

这里发生了什么?如何转换0.47000000000000003为字符串并将结果值恢复为浮点数?

我在Windows上使用Python 2.5.4.

python string floating-point floating-accuracy ieee-754

10
推荐指数
1
解决办法
6068
查看次数

从二进制到十进制是否有任何限制(就像从十进制到二进制一样)?

众所周知,并非所有十进制数都可以用二进制表示(有限位数).

我想知道,所有(有限)二进制数是否可以使用(有限数量的)十进制数字表示?我怀疑是这样,因为二进制("0.5","0.125"等)中的所有"基元"都可以用有限数量的十进制数字表示.

所以,我的问题如下:"兼容的基础变化"的特征是什么?即," Base 2→Base 10 " 的数学属性是什么,但不适用于" Base 10→Base 2 "?

(正式提出:NM必须具有哪些属性,以确保所有有限Base-N数都具有相应的有限Base-M数?)

language-agnostic math floating-point

6
推荐指数
1
解决办法
275
查看次数