社区
Java SE
帖子详情
请高手来解释一下
java_zhengjd
2010-04-12 09:33:40
if(n & (n-1) == 0) return true;
else return false;
这是在判断一个数是否为2的幂次,请高手来具体解释一下,具体的运算过程。
...全文
130
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
请
详细
解释一下
好的。
请
问你想了解什么?
请
解释一下
TreeMap
TreeMap是一个有序的key-value集合,基于红黑树的NavigableMap实现。该映射根据键的自然顺序进行排序,或者根据创建映射时提供的Comparator进行排序,具体取决于使用的构造方法。 TreeMap的特性: ①根节点是黑色。 ②每个节点只能是红色或者黑色。 ③每个叶子节点是黑色。 ④如果一个节点是红色的,则它两个节点都是黑色的,也就是在一条路径上不能出现两个红...
请
解释一下
JavaScript 的同源策略
请
解释一下
JavaScript 的同源策略 a. 同源策略指的是协议,域名,端口相同 b. 同源策略是一种安全协议 c. 指一段脚本只能读取来自同一来源的窗口和文档的属性
程序有点难懂,
请
帮忙
解释一下
BOOL CCCTVDlg::OnInitDialog() { hgLog.write("BOOL CCCTVDlg::OnInitDialog() Begin"); //追加 V1.13 CDialog::OnInitDialog(); // Add "
请
解释一下
什么是“语义化的 HTML”。
随着 CSS 的深入人心,结构、表现与行为的逐渐分离,HTML 语义化成了炙手可热的卖点。 语义化的 HTML 首先要强调 HTML 结构一个网页就好像一幢房子,HTML 结构就是钢筋混泥土的墙,一幢房子如果没有钢筋混泥土的墙那就是一堆废砖头,也就称不上是房子了。CSS 是装饰材料,是油漆,是用来装饰房子的。CSS 如果没有 HTML 结构那也就什么都不是了,没有了实际使用价值。CSS 完全依靠
Java SE
62,620
社区成员
307,251
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章