它不是地板上的错误.检查结果 %
In [61]: -1e-16 % 2 Out[61]: 2.0 In [62]: -1e-14 % 2 Out[62]: 1.99999999999999
您可以阅读每个计算机科学家应该知道的关于浮点算术的内容,以了解更多关于为什么%
表现如此的知识.
该小数模块提供了十进制浮点运算的支持.它比foat数据类型具有几个优点.因此,对于浮点值的精确数学
sys.float_info
有关浮动类型的详细信息,可以使用sys.flaot_info
.
sys.float_info.dig
显示可以在浮点数中忠实表示的最大小数位数; 对于包含具有更多数字的值的计算,您可能无法获得具有给定精度的精确结果
这就是我所拥有的
In [217]: import sys In [218]: sys.float_info.dig Out[218]: 15