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

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

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

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

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

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

实际上:

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

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

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

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

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

标签: C
分享给朋友:

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

C# 动态加载DLL 通过反射 调用参数、方法、窗体

.net中常会用到动态加载DLL,而DLL中可能包含各种参数、方法、窗体,如何来调用动态加载这些参数、方法、窗体呢? 在C#中,我们要使用反射,首先要搞清楚以下命名空间中几个类的关系: System.Reflection命名空间 (1)   AppDomain:应用程序域,可以将...

NSString 字符串的合并

.wiz-todo, .wiz-todo-img {width: 16px; height: 16px; cursor: default; padding: 0 10px 0 2px; vertical-align: -10%;-webkit-user-select: none;} .wiz-t...

Word转pdf

Word转pdf

为了通用:把一篇文章转成PDF后,读者无论在Unix还是Windows,无论是否有中文字体,都可以正常阅读。 为了美观:你精心排版的文件转成PDF后,对方在屏幕上看到的与你完全一样,不会有重新换行/字体/之困挠。 为了安全:在PDF文件中,你可以做到打开要密码,不允许修改、复制、打印…...

金蝶出入库单据类型

FTranType FBillName 1 外购入库单 2 产品入库单 5 委外入库单 10 其他入库单 21 销售出库单 24 领料单 28 委外出库单 29 其他出库单 40 盘盈单 41 调拨单 43 盘亏单 100 成本调整单 101 外购入库暂估补差单 102 委外加工暂估补差单...

利用Excel绘制时序波形

利用Excel绘制时序波形

以Excel2007为例。 打开Excel,点击绘制表格边框按钮,如图所示。 利用“绘图边框”,按照自己的想法绘制波形,如下图所示。 拷贝波形,粘贴到Word。...

金蝶 老单增加工具栏按钮(Raise Event)

Public Sub AddToolButton(name As String, Caption As String, Description As String, Optional imagefilename As String = '', Optional iOrder As Long = 47...

发表评论

访客

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