Java 中 & 的用途是什么?

Smi*_*e D -3 java bitwise-operators comparison-operators bitwise-and

所以,我正在遵循 pacman 教程,编码器使用 & 而不是 &&。但他没有解释它的作用。我搜索了一下,它说与 && 不同,& 检查这两个语句。这就说得通了。但编码器不会在比较上下文中使用它。这是他的代码。

screenData[] 是一个 255 个元素的 int 数组。

int ch = 0, pos = 0;
if((ch & 16) != 0) {
      screenData[pos] = (int) (ch & 15);
    }
Run Code Online (Sandbox Code Playgroud)

请告诉我他为什么这样做以及 & 在这种情况下有什么用处。

Kon*_*lph 5

&按位执行\xe2\x80\x9cand\xe2\x80\x9d

\n

因此,ch & 15检查是否设置了前四个最低位中的任何一个(因为 15 是二进制的 1111)。运算的结果是一个数字,其他位全部设置为 0,只有 4 个低位位设置为 1,这些位在 中也设置为 1 ch

\n