メールマガジン・新着情報一覧
- TOP
- メールマガジン・新着情報一覧
- A-0093. 基本的な論理演算 — T.T
2019.04.10
A-0093. 基本的な論理演算 — T.T
◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇ 基本的な論理演算 発行:エスオーエル株式会社 https://www.sol-j.co.jp/ 連載「X線CTで高精度寸法測定!?」 2019年4月10日号 VOL.093 平素は格別のお引き立てを賜り、厚く御礼申し上げます。 X線CTスキャンによる精密測定やアプリケーション開発情報などをテーマに、 無料にてメールマガジンを配信いたしております。 ◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇◆◇ 英語で and や or は、基本的な接続詞ですが、 論理回路でも AND や OR は重要な基礎です。 今回は横着をして、調べればどこにでも載っている、 あるいは使っていれば忘れることもない 基本的な論理演算の一覧を書いて、文字数を稼ごうという魂胆です。 0 AND 0 = 0 0 AND 1 = 0 1 AND 0 = 0 1 AND 1 = 1 0 OR 0 = 0 0 OR 1 = 1 1 OR 0 = 1 1 OR 1 = 1 0 NAND 0 = 1 0 NAND 1 = 1 1 NAND 0 = 1 1 NAND 1 = 0 0 NOR 0 = 1 0 NOR 1 = 0 1 NOR 0 = 0 1 NOR 1 = 0 0 XOR 0 = 0 0 XOR 1 = 1 1 XOR 0 = 1 1 XOR 1 = 0 NOT 0 = 1 NOT 1 = 0 さて、非常に良く知られていることで、 何度も読んだり聞いたりしていることだとは思いますが、 論理演算の「OR」と英語の「or」は意味が違います。 論理演算の「OR」は、1 OR 1 = 1 なので、 「少なくとも一方」が 1 のときに、1 となります。 それに対して、英語の「or」、あるいは日本語の「または」には、 「どちらか一方のみ」というニュアンスがあるため、 論理演算の「XOR」の意味になります。 今回、論理演算の話にしたのは、 今まさに関わっている仕事の一つが、論理演算の回路を組む仕事だからです。 もう一つ、本当は今回、「CNOT」について書こうと思っていました。 量子コンピュータに家からアクセスできるようになった今、 量子ビット演算は、楽しい趣味です。 量子ビット演算のキーの一つは、「CNOT」です。 「制御NOT」とも呼ばれます。 CNOT を説明するのに、どこから始めると面白い文章になるか 考えていると、締め切りに間に合わなくなりそうなので、 まずは普通の論理演算から書くことにしました。 CNOT は、XOR に似ています。 今回は、CNOT の基本的な演算規則を見ることに留めておきます。 CNOT|00> = |00> CNOT|01> = |01> CNOT|10> = |11> CNOT|11> = |10> このように、|ab> と書いたとき(a,b は 1 または 0)、 |ab> は、CNOT によって、|a (a XOR b)> のように作用を受けます。 「a,b は 1 または 0」と言ったときの「または」は、 「1 か 0 のどちらか一方」の意味ですね。 量子ビット演算の場合は、 古典的なデジタル演算の 0 と 1 の計算とは違って、 |0> と|1> は、確かに計算のベースになりますが、 一般的な状態として、 |ψ> = α|00> + β|01> + γ|10> + δ|11> というものを作って計算することができます。 -- 高野智暢