jjzjj

numberOfTrailingZero

全部标签

java - Integer.numberOfTrailingZero(int i) 如何工作?

这个问题是相关的to但在理解代码的实际工作方式上是不同的。更准确地说,我不明白numberOfTrailingZeros(inti)在java8here中的表现如何计算最终结果。代码如下publicstaticintnumberOfTrailingZeros(inti){//HD,Figure5-14inty;if(i==0)return32;intn=31;y=i>>31);}现在我明白了从16到2的移位操作的目的,但是n不会在最后一次移位操作时已经有尾随零的数量:y=i那是我不明白这一行的目的n-((i>>31);为什么当n已经有正确的值时我们还需要它?任何人都可以详细说明发生了什