C 言語の & 演算子は、2 つの 2 進数の各ビットを比較し、同じ場合は 1、異なる場合は 0 を演算するために使用されます。 。用途としては、① 特定のビット値を確認する、② ビットをセットまたはクリアする、③ ビット値を抽出する、④ ゼロ以外の値をマスクする、などが挙げられます。優先順位は、、-、*、/ などの演算子よりも高く、比較演算子よりも低くなります。
C 言語での & の使用法
C 言語では、& 演算子はビット単位の演算子であり、次のように使用されます。ビット単位の AND 演算を実行します。
ビット単位の AND 演算
ビット単位の AND 演算は、2 つの 2 進数の各ビットを比較します。両方のビットが 1 の場合、結果は 1 になります。それ以外の場合、結果は 0 になります。 。
文法
result = expression1 & expression2;
このうち、expression1
と expression2
は 2 つの整数式 result
も整数変数です。
使用法
& 演算子は通常、次のシナリオで使用されます:
if ((number & 0b10000000) != 0) { // 最高位为 1 }
number |= 0b10000000; // 设置最高位为 1 number &= ~0b10000000; // 清除最高位
bit_value = number & 0b00000001; // 提取最低位
&
演算子を使用して、整数とゼロ以外の値を結合します (例: -1 として) ビット単位の AND 演算により、ゼロ以外の値をマスクすることができます。これを使用して、値がゼロ以外であるかどうかを確認できます。例: if (number & -1) { // number 不为 0 }
注:
以上がC言語での&の使用法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。