1はじめに
のバイナリビットとして(ビット単位OR)、^(ビット単位の排他的論理和)〜(ビット単位)、ビット演算対象| Cのビット単位の演算子は、&(ビット単位と)を、持っています操作完了位置、対応する結果で指定されたビット列情報、。
図2に示すように、ビット演算子
単項演算子の上記演算子、〜(ビット単位否定)において、他のものは、^、〜に続くビット演算子最高最低の優先順位にバイナリ演算子、です、& |。
(1)ビット単位のAND演算子(&)
ビット単位のAND演算子は、次の規則に従って計算されます。
0&0 = 0
0 1 0 =
1・0 = 0
1&1 = 1
つまり、結果が1であり、そうでなければ0、位置1と同じです。
ビット単位のAND 2つの典型的な使用法は、第1のビット列は、いくつかを取ることで、例えば、最下位8ビット×とら:X&0x00FFには、第二は、例えば予約いくつかの変数、休止位置0を作ることですX = X&は0xFF00:xが高い8を保持してみましょう。
(2)ビット単位のOR演算子(|)
ビット単位のOR演算子は、次の規則に従って計算されます。
0 | 0 = 0
0 | 1 = 1
1 | 0 = 1
1 | 1 = 1
つまり、余りが0である限り、演算結果のビットが1であるように、です。
0x03の| X = X:特定の位置のビット単位OR演算子一般的な使用は、1個の情報ビット列であり、例えば、2は1の最低位置をxは。
(3)ビット単位の排他的論理和演算子(^)
ビット単位の排他的論理和演算子は、次の規則に従って計算:
0 ^ 0 = 0
0 ^ 1 = 1
1 ^ 0 = 1
1 ^ 1 = 0
つまり、同じ値の対応するビットであり、結果は1と比較して、異なる値の対応するビットは0です。
(4)ビット演算子(〜)
ビット単位の単項演算は、演算の結果として、すなわち、0ビットどのの、情報ビットカウンタのビット列を検索するために使用され、1ビットであるが、結果は、例えば、0であり、X 0x07の値は、結果は〜X 0xf8です。
典型的なアプリケーションは、2最低をクリア、0に設定されているいくつかの、例えば、2×最小ビット操作をクリアし、xは0xf3であり、組み合わせ演算で使用するために、ビット単位の演算子を否定し、& 0、することができ、X = X&〜0x03のは、文を実行した後、xは0xF0がなります。