问题描述
我使用 log 将指数基数 2 获取到一个非常大的数字,并且我希望能够通过反转函数 (2**x) 来检索该数字。然而 math.pow(2,x) 正在大幅截断答案。请注意,x 是 100000.00000001 范围内的一个非常大的幂。必须完整检索原始号码。
解决方法
math.pow
使用浮点运算。
将 2
提升到一次幂相当于将 1
左移那么多位,因此您可以使用 <<
运算符。
x = 1000
result = 1 << x
print(result)
我使用 log 将指数基数 2 获取到一个非常大的数字,并且我希望能够通过反转函数 (2**x) 来检索该数字。然而 math.pow(2,x) 正在大幅截断答案。请注意,x 是 100000.00000001 范围内的一个非常大的幂。必须完整检索原始号码。
math.pow
使用浮点运算。
将 2
提升到一次幂相当于将 1
左移那么多位,因此您可以使用 <<
运算符。
x = 1000
result = 1 << x
print(result)