基本情報技術者試験　論理回路

# はじめに
基本情報技術者試験の勉強をしていて
論理回路で頭がこんがらがったので個人的にまとめました。

# 論理回路とは
まず、論理回路とは**デジタル信号を用いて論理演算や記憶を行うための電子回路のこと**です。
AND, OR, NOT回路などの基本的な論理ゲートを組み合わせることで、複雑な機能を持つ回路を構成できます。﻿

## 論理回路は何に使われるのか？
論理演算を行うために論理回路は使われます。
論理回路は単純な論理演算（AND, OR, NOTなど）を組み合わせることで、複雑な処理を可能にします。﻿

### 単純な論理回路
ここで、AND, OR, NOT回路の解説を行います。
**基本情報技術者試験では覚える必要はない**らしいので1度読んでふーんと思う程度大丈夫です。

まず、AND,OR回路は入力が2個あり、出力は1つです。
そのためここで、入力は入力A,入力Bと表現します。
次に、NOT回路は入力、出力ともに1つです。

#### AND回路の真理値表とベン図
AND回路についてまずは説明します。
AND回路のMIL記号は下のようになっています。

<img src=https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4075824/50e289ed-fff3-44df-a84f-349902bdbe0c.png width=400>

<br>
次に真理値表です。
<br>



|入力A|入力B|出力|
|:--:|:--:|:--:|
|0|0|0|
|0|1|0|
|1|0|0|
|1|1|1|

<br>
最後にベン図になります。
<br>

<img src=https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4075824/c4d1fa54-858e-432c-b6f1-4cf8a5007e75.png width=250>

つまり、AND回路は、**入力がすべて1の時のみ出力が1になります**。

***

#### OR回路の真理値表とベン図
OR回路についてまずは説明します。
OR回路のMIL記号は下のようになっています。

<img src=https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4075824/810dbd18-6ef1-4ba4-8b0d-9e969eb92097.png width=400>

<br>
次に真理値表です。
<br>

|入力A|入力B|出力|
|:-:|:-:|:-:|
|0|0|0|
|0|1|1|
|1|0|1|
|1|1|1|

<br>
最後にベン図になります。<br>
<img src= https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4075824/e7de2f5b-a623-414e-a647-e0a4d83c7067.png width=250>

つまり、OR回路は、**入力に1が1つでもあれば出力は1になります**。

***

#### NOT回路の真理値表とベン図
NOT回路についてまずは説明します。
NOT回路のMIL記号は下のようになっています。

<img src=https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4075824/8c4611c9-94e6-4682-acfc-017330050d15.png width=400>

<br>

次に真理値表です。<br>

|入力|出力|
|:-:|:-:|
|0|1|
|1|0|

<br>

最後にベン図になります。<br>

<img src=https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4075824/fbeee024-d8e7-4fe7-bceb-77dee5403e10.png width=170>

つまり、NOT回路は、**入力と出力を入れ替えます**。

***

### では、論理演算とは何か？
論理演算とは、2進数の1桁のみを対象にした演算です。
つまり、**「0」、「1」のみ**で計算します。
コンピュータは「0」、「1」の2進数のみで計算を行うため、
普段我々が行う四則演算（+,-,*,/)は行えません。
そのために使うのが**論理演算**です。
論理演算を組み合わせることで**四則演算をはじめ、様々な計算が行えます**。

### 論理回路はどこで使われるのか？
**パソコンのCPUやメモリなど、身の回りのあらゆるデジタル機器**に利用されています。

# 試験ではどんなことが聞かれる？
**複雑な論理回路が最終的にはどんな論理演算を行なっているのか**、を問われる問題が出題されます。
設問の論理回路と同じ意味を持つMIL記号や論理式、真理値表などを解答します。

# 解き方・考え方
論理回路の問題では**ベン図を描くとよい**でしょう。
ベン図を使うことによって、複雑な論理回路も視覚的にわかりやすくなります。
最終的に設問の複雑論理回路が選択肢の簡単な論理演算と同じになったりします。

# 練習問題
こちらの回路を問題として使います。
入力A,Bと出力Xの関係について考えます。

<img src=https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4075824/219c7b50-e2ee-4b7a-9e0a-58b412fe5ccd.png width=600>

こちらの問題ではAND, OR, NOT回路の3つが使われています。

ここで、先述したようにAND, OR, NOT回路のベン図は以下のようになっていました。

|AND|OR|NOT|
|:-:|:-:|:-:|
|![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4075824/c4d1fa54-858e-432c-b6f1-4cf8a5007e75.png)|![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4075824/e7de2f5b-a623-414e-a647-e0a4d83c7067.png)|![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4075824/fbeee024-d8e7-4fe7-bceb-77dee5403e10.png)|


上のベン図を使い入力A,Bと出力Xの関係の演算結果を求めるとしたのようなベン図になると思います。


<img src=https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4075824/8852a49c-40ba-4915-b1f6-3766cc78da31.png width=250>

これはXOR回路という論理回路になります。

つまり、**この問題では設問の封雑な回路はXOR回路だった**ということになります。

このような問題が出題されるようです。

***

以上の解き方はあくまで私なりの考え方で、ほかにもたくさん考え方があると思うので
自分に合う考え方で考えることが重要だと思います！

私も問題を解くのになれるために過去問をバンバン解くようにします！！
<br>
以上

***
# 参考文献
* [論理回路の働きとベン図](https://www.eonet.ne.jp/~imagawa/denki_kiso/ronrikairo.html)
* [【基本情報技術者試験の論理回路の問題】とにかく値を入れて結果を見てみよう！事前に知っておくべきことも紹介します！！](https://marbou-work.com/fe-mil/#1_AND%E5%9B%9E%E8%B7%AF)