AND演算の使い分けについて技術だけ抜き出してまとめてみた!
問題概要
0 または 1 の整数 A と B が与えられます。 A AND B の結果を出力してください。
入力例:
0 1
出力例:
0
❌ NGコード
if (A === 1 && B === 1) {
console.log(1);
} else {
console.log(0);
}
今回の問題では条件分岐を使わないのが条件。
(&& はブール判定用なので、「真偽値」を返す式)
✅ OKコード
const [A, B] = input.split(' ').map(Number);
console.log(A & B);
& は「ビットAND」。1 & 1 → 1、それ以外 → 0
💡 技術メモ
-
&:整数同士のビット演算(論理積) -
&&:ブール値の論理演算(短絡評価) -
if文より論理演算子で一発解決のほうがコードがスッキリ -
x & 1 === 0で偶数判定にも使える
📘 新しく学んだことまとめ
-
a & bでビット単位のANDが可能 -
&vs&&、用途に応じて使い分け - ビット演算はフラグ管理や高速な条件判定に便利