gpt4 book ai didi

python - 我可以可靠地生成的最小非零数是多少?

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

我在做一些图形类的东西,我经常想把两点之间的斜率作为 dy/dx。但是,如果我的 dx 恰好为零,我将得到被零除错误。

如果 dx 为零,我可以将其设置为较小的值,比如 0.001。但是,我想提高解决方案的准确性。

对于这个给定的问题可能有更好的解决方案,但我确信存在其他问题,其可能的解决方案要求同样的事情:尽可能小的非零数。

此外,获得它的成本是多少?是否有很大可能无法可靠地复制此数字,可能是由于舍入误差等原因?

最佳答案

你能用decimal吗?这个模块?你可以用这个做一个非常小的固定浮点值:

import decimal
from decimal import Decimal

>>> almost_zero = Decimal((0, (1,), decimal.getcontext().Emin))
>>> almost_zero
Decimal('1E-999999')

这是一个非常小的数字,应该适合您的目的。

>>> 1 / almost_zero
Decimal('1E+999999')

或者你可以从 sys.float_info 中挖掘出一些东西.

>>> import sys
>>> sys.float_info
sys.float_info(max=1.7976931348623157e+308, max_exp=1024, max_10_exp=308, min=2.2250738585072014e-308, min_exp=-1021, min_10_exp=-307, dig=15, mant_dig=53, epsilon=2.220446049250313e-16, radix=2, rounds=1)
>>> almost_zero = sys.float_info.min
>>> 1 / almost_zero
4.49423283715579e+307

关于python - 我可以可靠地生成的最小非零数是多少?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65803724/

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