【发布时间】:2019-04-24 19:37:26
【问题描述】:
math.log2 和 math.log 给了我一些高数字的错误结果,通过在线 py 解释器和本地机器进行了测试。
>>>print(2**72)
>>>4722366482869645213696 #Correct
>>>math.log2(4722366482869645213697)
>>>72.0 #Wrong
>>>math.log(4722366482869645213697,2)
>>>72.0 #Wrong
>>>math.log2(39614081257132168796771975174)
>>>95.0 #Wrong
>>>print(2**95)
>>>39614081257132168796771975168 #Correct
我是遗漏了什么还是它的一些错误?
【问题讨论】:
-
为什么 72.0 “错误”?你想要什么花车?
-
Hey.72.0 建议它与 2**72 相同而不是它,它应该返回类似于 71.xxxxxxxxx 的内容。
-
您的问题是关于检查整数是否是 2 的幂。下次你问的时候,包括你的问题的背景和你试图解决的问题。同时,看看我的回答。
标签: python-3.x algorithm math