C言語での&の使用法

下次还敢
リリース: 2024-04-28 09:43:25
オリジナル
1071 人が閲覧しました

C 言語の & 演算子は、2 つの 2 進数の各ビットを比較し、同じ場合は 1、異なる場合は 0 を演算するために使用されます。 。用途としては、① 特定のビット値を確認する、② ビットをセットまたはクリアする、③ ビット値を抽出する、④ ゼロ以外の値をマスクする、などが挙げられます。優先順位は、、-、*、/ などの演算子よりも高く、比較演算子よりも低くなります。

C言語での&の使用法

C 言語での & の使用法

C 言語では、& 演算子はビット単位の演算子であり、次のように使用されます。ビット単位の AND 演算を実行します。

ビット単位の AND 演算

ビット単位の AND 演算は、2 つの 2 進数の各ビットを比較します。両方のビットが 1 の場合、結果は 1 になります。それ以外の場合、結果は 0 になります。 。

文法

result = expression1 & expression2;
ログイン後にコピー

このうち、expression1expression2 は 2 つの整数式 resultも整数変数です。

使用法

& 演算子は通常、次のシナリオで使用されます:

  • 特定のビットの値を確認します: 使用法 ビットマスク (1 と 0 のみを含む 2 進数) を整数と比較して、特定の 2 進ビットの値をチェックします。例:
if ((number & 0b10000000) != 0) {
  // 最高位为 1
}
ログイン後にコピー
  • ビットの設定またはクリア: ビット マスクと整数を使用してビットごとの AND 演算を実行し、特定の値を設定またはクリアします。少し。例:
number |= 0b10000000; // 设置最高位为 1
number &= ~0b10000000; // 清除最高位
ログイン後にコピー
  • ビットの抽出: ビット マスクと整数を使用してビットごとの AND 演算を実行し、特定のビットのビット値を抽出します。例:
bit_value = number & 0b00000001; // 提取最低位
ログイン後にコピー
  • ゼロ以外の値をマスクする: & 演算子を使用して、整数とゼロ以外の値を結合します (例: -1 として) ビット単位の AND 演算により、ゼロ以外の値をマスクすることができます。これを使用して、値がゼロ以外であるかどうかを確認できます。例:
if (number & -1) {
  // number 不为 0
}
ログイン後にコピー

注:

  • & 演算子は浮動小数点数では使用できません。
  • & 演算子は、-、*、/ 演算子よりも優先順位が高くなりますが、!=、==、<、> などの比較演算子よりは優先順位が低くなります。

以上がC言語での&の使用法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート