シェルスクリプトでのビット演算(AND、OR、XOR)

シェルスクリプトでのビット演算を紹介します。
各ビット演算の結果は符号付き十進数で出力されるようです。

AND演算

$(($a & $b))

$aと$bの論理積を算出します。

$ echo $((0xC7 & 0x4E))
70

0xC7は11000111、0x4Eは01001110なので両者の論理積は01000110で70となります。

OR演算

$(($a | $b))

$aと$bの論理和を算出します。

$ echo $((0xC7 | 0x4E))
207

0xC7は11000111、0x4Eは01001110なので両者の論理和は11001111で207となります。

XOR演算

$(($a ^ $b))

$aと$bの排他的論理和を算出します。

$ echo $((0xC7 ^ 0x4E))
137

0xC7は11000111、0x4Eは01001110なので両者の排他的論理和は10001001で137となります。