判断一个数是不是2的n次幂。
来源:互联网 发布:指针指向数组 编辑:程序博客网 时间:2024/06/03 18:25
设要判断的数是无符号整数X。
首先判断X是否为0,如果为0则不是2的n次幂,返回。
X和X-1进行按位与操作,如果结果是0,则说明这个数是2的n次幂;如果结果非0,则说明这个数不是2 的n次幂。
证明:
如果是2的n次幂,则此数用二进制表示时只有一位是1,其它都是0。减1后,此位变成0,后面的位变成1,所以按位与后结果是0。
如果不是2的n次幂,则此数用二进制表示时有多位是1。减1后,只有最后一个1变成0,前面的1还是1,所以按位与后结果不是0。
阅读全文
0 0
- 判断一个数是不是2的n次幂...
- 算法 - 判断一个数是不是2的n次幂
- 如何判断一个数是不是2的n次幂
- 判断一个数是不是2的n次幂。
- 判断一个数是不是2的幂次
- 判断一个数是不是2的整数次幂
- 判断一个数是不是四的幂次
- 简单判断某个数是不是2或3的n次幂
- 判断一个数是否是2的N次幂
- 判断一个无符号整数是不是2的n次幂的幂
- 判断一个数是不是2^N次方
- 判断一个数是不是2的n次方
- 怎么判断一个数是不是2的N次方
- 【java】判断一个数是不是2的N次方
- 判断一个数是不是2的n次方
- 【c语言】判断一个数是不是2的n次方
- 【java】判断一个数是不是2的N次方
- 怎么判断一个数是不是2的n次方
- Linux Posix Timer使用(转载自http://blog.csdn.net/hongszh/article/details/8608781)
- tyvj 1048 田忌赛马
- 你会休息吗?掌握最高效的休息方式
- 求帮助tyvj 1059 过河
- bfs走迷宫记录最短路径(求大神指…
- 判断一个数是不是2的n次幂。
- 马尔克斯写给读者的告别信
- c51中的_crol_和_cror_
- 人类有21种表情!
- 工作后的5种放松方法
- 2014年04月26日
- 国外旅行中慎用的10个手势!
- 欧美电影中的十大狗血情节盘点
- 斑斓的盐滩美景 克里米亚“腐…