-3

标题说明了一切。我知道 &x 给出了 x 的地址,但是我今天遇到了多个像 (x & y) 这样的行示例,但我找不到任何解释。这是一个很难搜索的问题。

4

1 回答 1

0

这是二元与。它将and在整数 a 和 b 的所有位之间执行逻辑运算。

它通常用于掩码,这意味着清除(强制位为零)整数的某些部分。

示例:我有一个存储在变量中的颜色代码,rgb其中 8 位编码红色分量,8 位编码绿色分量,8 位编码蓝色分量。如果我想提取蓝色分量,我将通过&以下方式使用蒙版:

int b = rgb & 0xF; // keep the last 4 bits, clear the upper bits of rgb
于 2020-06-15T05:44:37.243 回答