如何判断一个数是2的幂
2015-12-27 01:51
330 查看
如何判断一个数是2的幂,主要是要找出2的幂次方的数的特点。我们知道,1个数乘以2就是将该数左移1位,而2的0次幂为1, 所以2的n次幂(就是2的0次幂n次乘以2)就是将1左移n位, 这样我们知道如果一个数n是2的幂,则其只有首位为1,其后若干个0,必然有n & (n - 1)为0。(在求1个数的二进制表示中1的个数的时候说过,n&(n-1)去掉n的最后一个1)。因此,判断一个数n是否为2的幂,只需要判断n&(n-1)是否为0即可。
bool powerof2(unsigned int n) { return ((n & (n -1)) == 0); }
相关文章推荐
- 算法设计题2.41~2.42-线性表-第2章-《数据结构习题集》-严蔚敏吴伟民版
- NSString与Unicode
- c 指针相关
- 关于String StringBuffer 和 StringBulider
- 捡火柴的Nova君(n个线段相交问题)
- iOS废弃的API:NS_AVAILABEL_IOS and NS_DEPRECATED_IOS and __attribute__((deprecated))
- osgEarth2.7+vs2010+win7编译方法
- 正则表达式
- 数据库范式(1NF 2NF 3NF BCNF)详解
- C语言中常用计时方法总结
- 数据库三种完整性
- SQL之用户自定义函数
- python成长之路——第一天
- TextView 的SpannableString使用
- (一〇〇)第七章复习题
- 获取唯一标识符
- [看书日记20151227]Layout的过程,draw的过程,自定义view
- long类型字段转换成varchar2类型
- Git 常用命令详解
- 使用BeautifulSoup 检索 www.163.com 主页面所有超链接