1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

論理演算

Posted at

論理演算

「1と0」または、「真と偽」のように、2値のうちいずれか一方の値を持つデータ間で行われる演算。
演算結果も「1と0」または、「真と偽」になる。
論理演算を行う電子回路が論理回路で、CPUに組み込まれている。
論理回路はMIL記号で図式化したり、入出力の状態を表にまとめた真理値表で表現する。ベン図でよりわかりやすくなる。
主な論理演算に、論理和(OR)・論理積(AND)・否定(NOT)がある。

論理和(OR)

入力(A,B)の少なくとも一方が1であれば、出力(A+B)は1となる演算。
※+は論理和という意味

論理積(AND)

入力(A,B)の両方が1なら、出力(A・B)は1となる演算。
※・は論理積という意味

否定(NOT)

入力(A)が0なら、出力(Ā)は1、入力が1なら出力(Ā)は0になる演算。
※ĀはAの否定を意味する

論理演算の組み合わせ

論理和(OR)・論理積(AND)・否定(NOT)を組み合わせた演算。

排他的論理和(EOR,またはXOR)

入力(A,B)が異なれば、出力(A⨁B)は1となる演算
※⨁は排他的論理和という意味

否定論理和(NOR)

論理和と否定を組み合わせたもの
「A+B」の否定

否定論理積(NAND)

論理積と否定を組み合わせた演算。
「A・B」の否定

MIL記号と真理値表↓
semi18.gif
ベン図↓
H25-1-2-3ベン図.jpg

命題

真か偽のどちらかに決まる文のこと

ビット演算

「元のビット」と「特定のビット列」との間でビット演算を行い、ある特定のビットを取り出したり、反転させたりすることができる。「特定のビット列」のことをマスクパターン(マスク)という。

ビット列の取り出し

特定のビットを取り出すには、元のビット列とマスクパターンとの間で、論理積(AND)を行う。
例:下位4ビットの取り出し
元のビット列:00110001
マスクパターン00001111

00000001の下位4ビットを取り出す。
IPアドレスやサブネットマスクの処理に使用

ビットの反転

ビットの反転をするには、元のビット列とマスクパターンとの間で、排他的論理和(EOR)を行う。
例:下位4ビットの反転
元のビット列:00110001
マスクパターン00001111

00111110となる
パリティ符号(データチェック用に追加するビット)や暗号化の処理に使用

ド・モルガンの法則

こちらの記事を見た方が分かりやすいです

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?