JavaScriptのビット演算子の使い方
JavaScriptでもビット演算子やビット判定が使えます。
ビット論理積
for (let w = 0; w < 4; w++) {
if (w & 1) {
console.log(w);
}
}
console.log('-----');
for (let w = 0; w < 4; w++) {
console.log(w&2); // 0x02
}
実行結果
> 1
> 3
> -----
> 0
> 0
> 2
> 2
ビット論理和
for (let w = 0; w < 4; w++) {
if (w | 0) {
console.log(w);
}
}
console.log('-----');
for (let w = 0; w < 4; w++) {
console.log(w | 1);
}
実行結果
> 1
> 2
> 3
> -----
> 1
> 1
> 3
> 3
ビット否定
let a = 0xffffff00;
let b = ~a;
console.log(a.toString(16), b.toString(16));
実行結果
> "ffffff00" "ff"
ビット排他的論理和
const a = 0x1ffffff0;
const b = 0x0ffffff1;
const c = a ^ b;
console.log(c.toString(16));
実行結果
> "10000001"