判断一个数是否是2^N次方
2016-02-25 18:41
288 查看
要求不能使用 循环。。。
题解:首先我们知道2的N次方 这个数 的二进制 肯定是10000....这种形式,而且只带一个1,低位全是0,那么我们就可以用这个数减去1,得到的二进制是011111...
再将他俩取逻辑与 得到的结果必定是0,所以用X&(X-1)是否为0 来判断。。
题解:首先我们知道2的N次方 这个数 的二进制 肯定是10000....这种形式,而且只带一个1,低位全是0,那么我们就可以用这个数减去1,得到的二进制是011111...
再将他俩取逻辑与 得到的结果必定是0,所以用X&(X-1)是否为0 来判断。。
相关文章推荐
- Unity 5.x 导入教学Demo
- [BZOJ1968] [Ahoi2005]COMMON 约数研究
- 嵌入式jetty9启动标准webapp目录
- 线程池
- SEO基础_排名因素
- 线程池
- 自动化介绍
- 计算机程序工作原理———简单c程序实例剖析
- 【H5】localStorage、sessionStorage用法总结
- 罗马数字转换为十进制数字
- Delphi 拖放文件编程(覆盖WM_DROPFILES消息)
- 联想杨元庆:互联网不包治百病 概念被夸大
- JavaScript数据类型
- ansible
- Node:Q与node http模块搭配
- 读《点石成金》
- Servlet知识点<二>
- timesetevent与timekillevent的用法
- Java_导出Excel
- HDU 4995 Revenge of kNN(暴力)