判斷輸出的浮點數的結果是否等價於其整數-一個數是否爲2的冪次

好比想要知道一個數是否爲2的冪次,運行爲:python

import math

power1 = math.log(256, 2)
power2 = math.log(224, 2)
print(power1) # 8.0
print(power2) # 7.807354922057604

assert int(power1) == power1, 'input has to be the power of 2'
assert int(power2) == power2, 'input has to be the power of 2'

返回:spa

/anaconda3/envs/deeplearning/bin/python3.7 /Users/user/PycharmProjects/new/learning.py
8.0
7.807354922057604
Traceback (most recent call last):
  File "/Users/user/PycharmProjects/new/learning.py", line 9, in <module>
    assert int(power2) == power2, 'input is power of 2'
AssertionError: input is power of 2

Process finished with exit code 1

可見8.0 == 8code

相關文章
相關標籤/搜索