判断一个整数是否是2的幂数
来源:互联网 发布:淘宝怎么开通运费险 编辑:程序博客网 时间:2024/04/28 17:40
要判断某整数n是否是2的幂数,可以把此数与n-1相与:n&(n-1)
如结果为0,则表示n为2的幂数,反之则不是。
原理: 2的x次幂的二进制表示必为最高位是1,低x位全为0;减1后则为x位,且全为1;相与的结果一定为0。
n 100......0n-1 011......1n&(n-1) 000......0再考虑n的正负与0值等边界条件,实现为:
int is2power(int n){return (n>0) && !(n&(n-1));}
- 判断一个数是否是2的整数次幂
- 判断一个整数是否是2的幂数
- 判断一个数是否是2的整数次幂
- 判断一个数是否是2的整数次幂
- 判断一个数是否是2的整数次幂
- 判断一个整数是否是2的N次幂及一个数是否是偶数
- 判断一个数是否是2的整数次方
- 判断一个整数是否是2的阶次方数
- 判断一个整数是否是2的整数次幂
- java 判断一个数是否是2的整数次幂
- 判断一个数是否是2的整数次幂,python实现。
- 判断一个数是否是整数
- 判断一个整数是否是回文数
- 判断一个整数是否是回文数
- 判断一个整数是否是回文数
- 判断一个数是否是4的整数次方
- 判断给定的整数是否是一个2的幂
- 判断一个数是否为2的整数次幂
- Tyvj 1112 舞会2
- 协同工作模式
- “拖延症”如流感肆虐 手把手教你战胜它
- 互联网产品运营小结
- 一个多线程队列模型
- 判断一个整数是否是2的幂数
- 你必须很努力,才能看起来毫不费力
- 关于const的位置
- JBPM流程部署之流程支持节点扩展
- 这几年来
- 像蚂蚁一样工作,像蝴蝶一样生活
- Objective-c类别
- Hello Android - 调用打电话和发短信及intent一些其他用法
- A+B Problem