实现一个方法,判断一个正整数是否是2的乘方

利用按位与

  • 2的乘方数N&(N-1) 结果为0这点判断
    eg:8的二级制数为:1 0 0 0,7的二进制数为 0 1 1 1 两者与结果为0
i = input(u'输入一个整数')
if i&(i-1) == 0:
    print 'True'
else:
    print 'False'
posted @ 2017-06-07 09:09  庆庆乐天  阅读(171)  评论(0)    收藏  举报