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&&
、用途に応じて使い分け - ビット演算はフラグ管理や高速な条件判定に便利