码迷,mamicode.com
首页 > 其他好文 > 详细

判断一个数是否为2的幂

时间:2020-02-15 13:34:35      阅读:51      评论:0      收藏:0      [点我收藏+]

标签:text   一个   思想   class   pre   ext   code   判断   公式   

判断一个数是否为2的幂

思想

例1、
4的补码为:
00000100
3的补码为:
00000011
4 & 3 = 0
因此 n & n-1 == 0,此数即为2的幂(n > 0)

例2、
4的补码为:
00000100
-4的补码为:
11111100
4 & -4 = 4
因此 n & -n == n,此数即为2的幂(n > 0)

公式

n & n - 1 == 0 (n > 0)
或
n & -n == n (n > 0)

判断一个数是否为2的幂

标签:text   一个   思想   class   pre   ext   code   判断   公式   

原文地址:https://www.cnblogs.com/fsh001/p/12311064.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!