& は、C 言語のビット単位の AND 演算子で、2 つのオペランドをビットごとに比較するために使用されます。対応するビットが両方とも 1 の場合、結果のビットは 1 になり、それ以外の場合は 0 になります。特定のアプリケーション シナリオには、特定のビットが 1 であるかどうかのテスト、特定のビットを 0 に設定、および特定のビットをマスクすることが含まれます。
C 言語の & とは何ですか
#& C では言語ではビットごとの AND 演算子です。 2 つのオペランドの各ビットをビットごとに比較し、両方のビットが 1 の場合、結果は 1 になり、それ以外の場合は 0 になります。
ビットごとの AND 演算子の仕組み
たとえば、2 つの 8 ビット整数a と
b があるとします。 ##<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false"><code>a = 0b10101101
b = 0b01101011</code></pre><div class="contentsignin">ログイン後にコピー</div></div>
と b
に対してビット単位の AND 演算を実行すると、各ビットが比較されます。 <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false"><code>1 & 0 = 0
0 & 1 = 0
1 & 1 = 1
0 & 0 = 0
1 & 1 = 1
1 & 0 = 0
0 & 1 = 0
1 & 1 = 1</code></pre><div class="contentsignin">ログイン後にコピー</div></div>
したがって、
は: <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false"><code>0b00101001</code></pre><div class="contentsignin">ログイン後にコピー</div></div>
ビット単位の AND 演算子には、C 言語で次のような多くのアプリケーションがあります。 # 特定のビットが 1 かどうかをテストします。
a & (1 << n)が 1 の場合、
an 番目のビットが 1 であることを意味します。
特定のビットを 0 に設定します:
a & ~(1 << n) が使用される場合、
a# の
マスク固有ビット: a & MASK
が使用される場合 (MASK
はマスク)、 で無効化されることを意味します。 MASK
と異なるビットはクリアされます。
以上がC言語でアンプってどういう意味ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。