翻了好几个答案,在贴吧发现了感觉更能让我理解的版本。
求问10.0/3=3.3333333333333335为什么?【python吧】_百度贴吧 (baidu.com)
搜索:浮点数有效位
或:浮点数储存方式
简单地说就是计算机硬件限制只能提供有限的精度,目前64位系统只能达到17位有效数字。只有符合2的负N次方及其组合的浮点数才能准确表示。如0.5+0.25+0.125。
这个是计算机的浮点数误差,计算机处理是逻辑计算,10之间的逐位计算。 2l说的是没错的,因为win下的普通python是CPython,底层就是c所以误差是按照c来的。
如果链接不可以贴的话,请联系我删除。