关于exponents和int的Python问题

前端之家收集整理的这篇文章主要介绍了关于exponents和int的Python问题前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
出于好奇,我运行了以下内容
>>> int(1e100)

而且,输出是:

10000000000000000159028911097599180468360808563945281389781327557747838772170381060813469985856815104L

为什么?为什么这看起来不像:

10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000L

这是int函数的产品,还是大型存储的产品?

解决方法

1e100是一个浮点数,在 significand中具有53位精度.您尝试表示的整数需要333位才能准确,因此需要进行一些舍入.替换底部位以使最接近的基数2为您想要的结果.

见:http://docs.python.org/tutorial/floatingpoint.html#representation-error

原文链接:https://www.f2er.com/python/186586.html

猜你在找的Python相关文章