.
和math.log2
给了我一些高数值的错误结果,并通过在线py解释器和本地计算机对其进行了测试。
math.log
我缺少某些东西或某些错误吗?
答案 0 :(得分:0)
您错过了math.log
给您IEEE floating point最多52位精度的情况。
您的答案在表述范围内是正确的。
答案 1 :(得分:0)
实际答案大约是 72.0000000000000000000003 。
绝对误差小于该范围内的浮点误差,您得到log2(72)
中最接近的floating point approximation,计算机可以存储64位浮点数。
如果要检查整数是否为2的整数次幂,则可以检查整数的最左位是否为1。
if 1 << (x.bit_length() - 1) == x:
print("x is a power of 2")