当前位置:首页 > 技术心得 > 正文内容

如何判断一个正整数是不是2的幂

xjtudll15年前 (2011-08-27)技术心得12600

估计用递归的方法大家都知道,就不赘述了

这里使用一个更简单的方法。

若一个正整数是2的幂,则这个数在计算中的表示肯定是以下形式:0x00...1000...B省略号表示若干个0.问题就转变为一个等价的命题:如何判断给定的一个正整数是如0x00...1000...B这种形式(二进制表示式中只有唯一的一个1)。(B表示是以二进制表示的)

实际上:

如果一个数n是2的幂,则满足 n & (n-1) = 0。

举个特例,如n = 8,即0x1000,则0x1000 & 0x0111 = 0。

扫描二维码推送至手机访问。

版权声明:本文由鸟的天空发布,如需转载请注明出处。

本文链接:http://www.xjtudll.cn/Exp/192/

标签: C
分享给朋友:

“如何判断一个正整数是不是2的幂” 的相关文章

固定水晶报表每页显示的行数两种方法

方法一:   例如每页显示20条记录:    1.选择[区段专家]    2.选择[明细]    3.选择[在之前新增分页]的公式按钮,输入以下公司    IF   Remaind...

深刻认识差模电压和共模电压

原文作者:佚名 文章来源:http://blog.csdn.net/ywf861029/archive/2009/10/05/4633775.aspx 我们需要的是整个有意义的“输入信号”,要把两个输入端看作“整体”。 就像初中时平面坐标需要用 x,y 两个数表示,而到了高中或大学就只要用...

OKI DSR警告解决

OKI DSR警告解决

使用OKI编译ML610Q473程序的时候,偶然发现编译器出了一堆warning,表面上看起来似乎不影响使用,但是看起来也是不爽。警告内容如下: 经查,所有的warning都与中断相关,所有的警告都在中断函数里产生的。 为什么中断函数会产生DSR警告呢? 这是因为在每次进入中断时,都会做push...

XP 安装IIS步骤

XP 安装IIS步骤

第一步:在网上下载IIS5.1安装包。第二步:进入控制面板-添加/删除程序-添加删除Windows组件-在Internet信息服务上画对勾。这里还有很重要的一步设置 ,否则总是会出现找不到文件!进windows组件后,选附件和工具(详细信息),游戏(详细信息),去掉internet游戏前面的勾。第三...

Xcode查找函数(方法)调用及被调用

Xcode查找函数(方法)调用及被调用

参考资料:http://stackoverflow.com/questions/7145045/find-method-references-in-xcode 这个功能有的说是 Find Caller,有的说是Find references,有的说是Find Usages 直白的讲,就是我需要知道这...

Mac OS安装心得

配置我就不说了,我的是Acer 4738G 安装的系统:东皇V3.2 下载地址:http://www.verycd.com/topics/2887773/ 具体安装教程可参照: 《新手windows下安装苹果教程。最详细,最全面,最值得看的教程》http://bbs.pcbeta.com/v...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。