gpt4 book ai didi

python - 为什么 10 次方不等于 Python 中大数的科学记数法?

转载 作者:行者123 更新时间:2023-12-04 12:11:20 25 4
gpt4 key购买 nike

为什么 10**5 等于 1e5 而 10**50 不等于 Python 中的 1e50?

Python 3.9.6 (tags/v3.9.6:db3ff76, Jun 28 2021, 15:26:21) [MSC v.1929 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> 10**5 == 1e5
True
>>> 10**50 == 1e50
False
直到 10**22 都是如此。那么它是假的:
>>> 10**22 == 1e22
True
>>> 10**23 == 1e23
False

最佳答案

Python 3 支持大整数并尽可能使用它们。 10**50是对整数的计算,并产生精确的 10 的 50 次方数。另一方面,科学记数法总是使用浮点数,所以 1e50floating-point value这大约等于十的五十次方。

>>> type(10 ** 50)
<class 'int'>
>>> type(1e50)
<class 'float'>

关于python - 为什么 10 次方不等于 Python 中大数的科学记数法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68605046/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com