永发信息网

n |= n >>> 16;怎么解释这段java代码?

答案:5  悬赏:50  手机版
解决时间 2021-11-21 03:41
n |= n >>> 16;怎么解释这段java代码?
最佳答案
正好遇到一个问题,所有就看了看。
第一个:以65举例子,因为简单
n-=1;// n=1000000(二进制)
...//16、8无变化
n|=n>>>4;//n=n|(n>>>4)=1000000|0000100=1000100
n|=n>>>2;//n=n|(n>>>2)=1000100|0010001=1010101
...这样执行完,原来是1000000,变成了1111111,最后加1,就变成2的整数次方数了。
第二个:还是以65举例子
n=65;//n=1000001
temp=-n;//temp=11111111111111111111111110111111(负数用补码表示,就是最高位为1代表负数,其他位取反,然后最低位+1,所以就成了这个样子;例子用的32位)
n&-n;//按位与,全是1的才取1,所以n&-n=1(二进制)。和原来的不一样,所以不是2的整数次方数。文字解释一下
偷偷告诉你,这个算法其实是java集合中初始化设定大小的算法,形式不一样而已。

全部回答
晕死,是C++不?
可以把前后文一起发上来吗
对不起,我小学生,根本看不懂,啥啥玩意
这个是找到下一个最小的比入参大的2的高次幂。| 这个是按位或,>>>这个是无符号右移。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
暗黑破坏神2五种职业的是什么版本?
在杉杉来了赵丽颖的堂姐是谁
兔毫盏哪个师傅烧得比较好
长寿花是什么科目
数学题许阿姨所卖的鲜花价格有5元,10元,25元
虎豹终难骑人心隔肚皮这属于什么短语
请教大家一个问题 我今天去湖北鑫东富石英石
麻烦帮我用L和H字母做一个公司LOGO 谢谢,180
一般什么花适合放在汉服上做花样比
格瑞Gy和居里Ci如何转换?
求SJ<from u>LRC歌词 中韩不限T T
win7安装方正飞腾时出现“没有找到fit.ini文
一部欧美电影 故事发生在现代 故事中有白雪
小右有一首歌歌词里有 我怎么还没睡 是什么歌
恐怖爱丽丝 版权为什么在ea手里
推荐资讯
天猫上的千足金是真的还是假的,如果买到假的
有一位同学在读完济南的冬天后,产生了一个疑
macbook air怎么装单系统win7
有关拉PET.PBT刷丝的 机器
烦恼问题 我是个19岁的女孩,我现在在白俄罗
如果蒋先云被蒋介石抓住,蒋介石会不会杀他
百合干怎么做好吃,自制百合干的家常做法
所谓的“传媒”具体是指什么?都涉及那些领域
如何在 MacBook Air 上安装 Microsoft Office
路桥建设为何停牌
120cm化成米是多少
郑州8路车从哪一站下车距离郑州东站近
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?