ビットAND演算でフラグ判定
コンピューターサイエンス理論 / 全 5 枚
コンピューターサイエンス理論 - ビットAND演算でフラグ判定
設定を1つの整数に押し込める
真偽値をいくつも並べる代わりに、1つの整数の各桁へ設定を押し込められます。ある機能が有効かどうかを調べるのが AND の役目です。
この & がビット列に何をしているのかを、次の図解で8桁ぶん並べて見ます。
perm & WRITE が 0 かどうかだけを見ます。0 以外なら、その桁は立っています。
const READ = 1, WRITE = 2, EXEC = 4;
const perm = 5;
if (perm & WRITE) { /* 書き込める */ }1 / 5
← → キーでも送れます