社区
Java SE
帖子详情
请高手来解释一下
java_zhengjd
2010-04-12 09:33:40
if(n & (n-1) == 0) return true;
else return false;
这是在判断一个数是否为2的幂次,请高手来具体解释一下,具体的运算过程。
...全文
96
8
打赏
收藏
请高手来解释一下
if(n & (n-1) == 0) return true; else return false; 这是在判断一个数是否为2的幂次,请高手来具体解释一下,具体的运算过程。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
vlemfun
2010-04-12
打赏
举报
回复
学习了
都是高手啊
jacky花园
2010-04-12
打赏
举报
回复
[Quote=引用 2 楼 keeya0416 的回复:]
引用楼主 java_zhengjd 的回复:
if(n & (n-1) == 0) return true;
else return false;
这是在判断一个数是否为2的幂次,请高手来具体解释一下,具体的运算过程。
如果一个数是2的幂,那么它的2进制里只有一位是1 其他都是 0
那么该数减1 后 它的2进制中是1 的那一位变成了0 后边的 0 都是1 了
故有 ……
[/Quote]
up
keeya0416
2010-04-12
打赏
举报
回复
结贴是个好习惯。。。。
哈哈
java_zhengjd
2010-04-12
打赏
举报
回复
谢谢了,终于弄清楚了这个东东,以后还愿各位不吝赐教。
keeya0416
2010-04-12
打赏
举报
回复
如果一个数是2的幂,那么它的2进制里只有一位是1 其他都是 0
那么该数减1 后 它的2进制中是1 的那一位变成了0 后边的 0 都是1 了
故有 (n & (n-1)) == 0;
相反 如果一个数不少2 的幂 ,那么它的的2进制里就会有多位是1
那么该数减1后 只是最后的那个1边成0,该1后的0变成1。
而该数前边的1都是不会变的
也即 (n & (n-1)) > 0;
keeya0416
2010-04-12
打赏
举报
回复
n & (n-1) == 0;是错的
要写成 (n & (n-1)) == 0;
keeya0416
2010-04-12
打赏
举报
回复
[Quote=引用楼主 java_zhengjd 的回复:]
if(n & (n-1) == 0) return true;
else return false;
这是在判断一个数是否为2的幂次,请高手来具体解释一下,具体的运算过程。
[/Quote]
如果一个数是2的幂,那么它的2进制里只有一位是1 其他都是 0
那么该数减1 后 它的2进制中是1 的那一位变成了0 后边的 0 都是1 了
故有 n & (n-1) == 0;
soooooga
2010-04-12
打赏
举报
回复
&是按位运算符
参与运算的两个值,如果两个相应的位都为1,则该位的结果为1,否则为0,即:
0&0 = 0 ;0&1=0 ;1&0=0;1&1=1;
例如:0010 1010 & 0001 0111 = 0000 0010
linux 高级教程(内核解释)
一本关于内核的书,
高手
必看,linux内核完全注释
android bluetooth demo 蓝牙样例
只是一个蓝牙的小demo。注释和解释都很全。还有说明。希望对想写蓝牙小程序的童鞋有帮助。
高手
就不用看了。这个是很简单的小样例!上一次发的有点问题。这一次发的是对的。。喜欢的自己下吧!
请
教
高手
>
解释一下
JAVA中的代理
JAVA中的代理实在看不懂啊那位
高手
帮个忙!!
解释一下
java定义长方体类cuboid_java有一题执行结果不对,但是我不知道错在哪里了,求
高手
认真解释,谢谢!执行结果始终为0.题目:定义一个名为Cuboid的长方体类,使其继承Rectangle类,其...
java有一题执行结果不对,但是我不知道错在哪里了,求
高手
认真解释,谢谢!执行结果始终为0.题目:定义一个名为Cuboid的长方体类,使其继承Rectangle类,其中包含一个表示高度的double型成员变量heig2016-12-09java有一题...
编译器和解释器的区别与联系
菜鸟经常将编译器和解释器弄混淆,无奈之下,于是向
高手
请
教。
高手
说: “ 解释器是一条一条的解释执行源语言。比如php,postscritp,javascript就是典型的解释性语言。 编译器是把源代码整个编译...
Java SE
62,614
社区成员
307,326
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章