pi的e为1.0,我无法理解其背后的原因。在理解基础科学方面需要帮助

问题描述 投票:0回答:1

我创建了一个简单的函数来将e求解幂pi [here] >>

def e_to_power_pi(number):
    return (1 + (1/number)) ** (number * math.pi)

从它的外观看,显然是简单的代码。但是看看这两个值的输出差异:

示例一:

e_to_power_pi(1000000000000000)

输出:

32.71613881872869

示例二:

e_to_power_pi(10000000000000000)

输出:

1.0

删除代码后,我了解到1.0来自此部分上面代码的1 +(1 /数字)

[当我进一步撕下它时,我了解到1/10000000000000000会像0.00000000000000001一样输出正确的答案。

但是当我将1添加到结果中时,它返回1.0而不是1.00000000000000001

我想它必须是默认值,在python中可能会改变值。

我决定使用round(<float>, 64) # where <float> is any computation taking place in code above尝试获取十进制结果后的64位数字。但是,当执行加法运算1.0时,我仍然停留在相同的结果上。

有人可以引导我或将我指向可以学习或进一步了解它的方向吗?

我创建了一个简单的函数来将e求解幂pi,在这里解释了def e_to_power_pi(number):从外观上看,return(1 +(1 / number))**(number * math.pi),显然很简单代码。 ...

python-3.x math wolfram-mathematica mathematical-optimization pymatlab
1个回答
0
投票

您正在使用具有53位有效精度的双精度二进制浮点格式,不足以表示分数:

10000000000000001/10000000000000000 = 1.0000000000000001
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.