2017-08-04 85 views
0
while((number & 1) == 0) { 
    number >>>= 1; 
} 

我不太瞭解while循環中的條件,它代表'>>> ='。任何人都可以幫助解釋這部分代碼?

+0

看看重複你的問題的頂部,你發佈的代碼片段不會終止(可能需要刷新此頁面查看)。另外這可能會讓你感興趣:https://stackoverflow.com/a/14923514/1393766 – Pshemo

回答

2

while循環中的條件測試number的最低位是否爲零。

>>>=運算符是複合賦值運算符(請參閱教程here)。該聲明是一樣的:

number = number >>> 1; 

>>>操作是逐位右移零填充(見here)。它與>>不同,>>將填充符號位,而>>>總是填充零。

注意,如果number開始爲0

相關問題