java位运算符

fai*_*lai 3 java bit-manipulation

我在java中遇到了这段代码,如果有人能向我解释逻辑,我会很高兴.

public boolean name(int n) {
   return ((n >> n) & 1L) > 0; 
}
Run Code Online (Sandbox Code Playgroud)

这是一种检查操作,我猜这个代码返回的是什么布尔值.是否有替代此代码.我正在尽力理解java中的位操作.

Jon*_*eet 7

这是一段奇怪的代码.它检查n已向右移位的数字是否n % 32为奇数.

通过的第一个非负值是37(二进制100101),70(二进制1000110)和101(二进制1100101).

我怀疑它实际上是否像原始编码器那样有效 - 它显然没有任何有用的意义(并且方法名称name非常无用......)