【问题标题】:Can anyone help to explain this part of code? [duplicate]谁能帮忙解释这部分代码? [复制]
【发布时间】:2018-01-12 20:03:55
【问题描述】:
while((number & 1) == 0) {
   number >>>= 1;
}

我不太明白while循环中的条件,它代表什么'>>>='。

【问题讨论】:

标签: java


【解决方案1】:

while 循环中的条件测试number 的最低位是否为零。

>>>= 运算符是一个复合赋值运算符(参见教程here)。语句同:

number = number >>> 1;

>>> 运算符是零填充的按位右移(请参阅here)。它与>> 的不同之处在于>> 将填充符号位,而>>> 始终填充零。

请注意,如果number 以 0 开头,则您发布的代码片段将永远不会终止。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-03-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-02
    • 1970-01-01
    • 2017-04-22
    相关资源
    最近更新 更多