前回はシフト演算を整理しました。今回は、セットで出題されることが多い「論理演算(AND・OR・XOR・NOT)」を整理します。
目次
論理演算とは
論理演算は、0と1のビットどうしを、決まったルールで計算する操作です。代表的なものが、AND・OR・XOR・NOTの4種類です。
AND(論理積)
ANDは、両方が1のときだけ1になる演算です。片方でも0があれば結果は0になります。
「両方満たしていないと成立しない」というイメージで捉えると分かりやすく、特定のビットだけを取り出したい(マスクしたい)ときによく使われます。
OR(論理和)
ORは、どちらか一方でも1があれば1になる演算です。両方が0のときだけ結果が0になります。
「どちらかを満たせば成立する」というイメージで、特定のビットを1に立てたいときに使われます。
XOR(排他的論理和)
XORは、2つの値が異なるときに1、同じときに0になる演算です。ANDやORと違い、「一致しているかどうか」を判定する演算だと捉えると理解しやすくなります。
同じ値どうしをXORすると必ず0になる、という性質もよく出題されるポイントです。
NOT(否定)
NOTは、ほかの3つと違い、入力が1つだけの演算です。0なら1に、1なら0に、値をそのまま反転させます。
4つの演算を比較して覚える
科目Aでは、この4つの演算結果を問う問題がよく出ます。自分は、次のように整理して覚えるようにしています。
- AND:両方1のときだけ1(厳しい条件)
- OR:どちらか1つでも1なら1(ゆるい条件)
- XOR:異なるときだけ1(違いを見る)
- NOT:反転させるだけ(1つの入力)
表で結果を書き出して、何度も見比べることで、少しずつ体に染み込んできた感覚があります。
学習してみた感想
最初はAND・ORの違いが紛らわしかったのですが、「厳しい条件かゆるい条件か」という言葉で自分なりに言い換えたことで、迷わず判断できるようになりました。用語の意味を丸暗記するよりも、自分の言葉に変換することが、理解の近道だと感じています。
次回は、誤差・精度・有効数字の考え方を整理します。
