判断一个数是2的幂数的最快方法!
来源:互联网 发布:网络共享 win10 编辑:程序博客网 时间:2024/06/06 17:11
if(n&(n-1)) then n不是2的幂数;
else n是2的幂数;
原理:如果n=2^K,那么n = 1000...0(k个0),则n-1 = 111...0(k个1);相与之后则为0
如果 n!=2^k,那么
n跟(n-1)第一位都为1,则相与这后然后第一位为1,则不为0.
【更正】
上面当n==0也会误判成2的幂数,所以应该更正为:
if( !n && n&(n-1)) then n不是2的幂数;
else n是2的幂数;
- 判断一个数是2的幂数的最快方法!
- 判断一个数是2的幂数的最快方法!
- 判断一个数是2的幂数的最快方法!
- 用最快的方法判断一个数是不是2的n次方
- 判断一个数是2的乘方
- 判断一个数是不是素数的最快的方法(代码可以运行,Miller_Rabin + 新的)
- 判断一个数是否是2的阶次方数
- 判断一个数是否是2的幂数,并且判断是多少次方
- 判断一个数是否是2的幂数,并且判断是多少次方
- 判断一个数x是否是2的幂
- 判断一个数是否是2的N次幂
- 用php判断一个数是否是2的幂
- 判断一个数是否是2的整数次幂
- 判断一个整数是否是2的幂数
- 快速判断一个数是否是2的幂次方
- 判断一个数是否是2的幂
- 快速判断一个数是否是2的幂
- 如何判断一个数是否是2的幂次方
- optics算法
- IPV4 与IPV6 头部结构与其区别
- 对比基于boost::function/bind和AS3 Function回调机制
- 第二十四节 java学习 包
- ASP.NET 安全认证(二)
- 判断一个数是2的幂数的最快方法!
- 基于NS2的组播路由协议实现及仿真
- Android Permission大全
- 介绍AJAX
- linux ptrace函数
- 小明求素数积
- 徐氏银行开业了!!!!秒杀一切!!!!!
- 互联网产品“冷启动”问题浅析
- API Hooking (LoadLibrary)