たとえば、ビットごとの AND は、ビットレベルで論理積を求めます これはどういうことかというと、数値を2進数として考え 二つのオペランドの各ビットに対し双方が 1 であれば 1、そうでなければ 0 という結果を出します 論理積の演算は、あるビットを削除したりする場合に便利です alert(0x57 & 0x0F); スクリプトを実行 これは、二つの16進数の数値 57 と 0F を論理積で演算しています これらの16進数は、2進数に変換すると 0101 0111 & 0000 1111 という計算になっています この形で、コンピュータはビット演算を行います 0000 0111 というように、左辺と右辺のオペランドが演算されています 論理積は双方のビットが 1 でなければ 0 となるので、0x0F と演算させた場合 必ず上位4ビットは 0 となるため、上位4ビットを論理演算で削ることができ