🎯 この記事を読み終わるころには、この問題が解けるようになります!
【例題】平成28年度 基本情報技術者試験 科目A
8ビットのビット列の下位4ビットが変化しない操作はどれか。
ア. 16進表記OFのビット列との排他的論理和をとる
イ. 16進表記OFのビット列との否定論理積をとる
ウ. 16進表記OFのビット列との論理積をとる
エ. 16進表記OFのビット列との論理和をとる
※今は解けなくて大丈夫!この記事を最後まで読んでから、もう一度チャレンジしてみてください 💪
前回は「データの単位と数値表現」を学びました。今回は、コンピュータが実際に「計算する仕組み」=論理演算と論理回路を解説します。さらに、試験で急増中のAI・機械学習の用語も完全網羅!難しく見えても実はシンプルです。一緒に攻略しましょう!
目次
- 集合と論理演算|コンピュータの計算のキホン
- 論理演算の真理値表と演算子一覧
- NAND・NOR|否定を組み合わせた演算
- 論理演算の優先順位
- 論理回路(MIL記号)|試験最頻出テーマ
- 加算回路(半加算器・全加算器)
- 計算式の表し方(逆ポーランド記法)|試験頻出!
- オートマトン|状態遷移表・状態遷移図
- AI・機械学習・ディープラーニング
- 過去問チャレンジ!
- この章のまとめ
1. 集合と論理演算|コンピュータの計算のキホン
集合とは「はっきりした条件でグループ分けされたものの集まり」のことです。そして、この集合の関係を視覚的にわかりやすく表したものをベン図(イギリスの数学者ジョン・ベンが考案)と呼びます。
集合の関係を表す記号として、∩(かつ)、∪(または)、否定(ではない)などがあります。
▲ AND・OR・XOR・NOTの4つをベン図で確認しよう。これが論理演算のすべての基本です
論理演算とは、コンピュータが「0」と「1」の2進数だけで行う演算方式のことです。私たちが普段使う「+−×÷」の四則演算とは異なり、コンピュータは内部的に「AND・OR・XOR・NOT」といった論理演算を組み合わせてすべての計算を行っています。
2. 論理演算の真理値表と演算子一覧
論理演算には主に4つの種類があります。これらを整理したものが以下の表です。
| 演算子 | 別名 | 意味 | 結果が1になる条件 |
|---|---|---|---|
| AND(論理積) | A・B | かつ | AとBが両方1のとき |
| OR(論理和) | A+B | または | AまたはBの少なくとも一方が1のとき |
| XOR(排他的論理和) | A⊕B | どちらか一方 | AとBが異なるとき |
| NOT(否定) | Ā | ではない | Aが0のとき(反転) |
それぞれの計算結果をまとめた表を真理値表と呼びます。
【AND】00→0, 01→0, 10→0, 11→1【OR】 00→0, 01→1, 10→1, 11→1
【XOR】00→0, 01→1, 10→1, 11→0
【NOT】0→1, 1→0
身近な例えで考えるとわかりやすいです。
・AND(かつ):「雨」かつ「寒い」日に傘と上着が両方必要
・OR(または):「雨」または「風」の日はどちらか一方でも当てはまれば外出自粛
⚠️ 注意:ANDの言葉の意味
「AND」は日本語で「論理積」と呼ばれます。英語のイメージだと「和(プラス)」に聞こえがちですが、四則演算のかけ算ではなく、ベン図の「積集合の『積』」なので注意してください!
3. NAND・NOR|否定を組み合わせた演算
基本の4つに加えて、否定(NOT)を組み合わせた演算も試験に登場します。
- NAND(否定論理積):「NOT AND」の略。ANDの結果をすべて反転させます。
- NOR(否定論理和):「NOT OR」の略。ORの結果をすべて反転させます。
| 入力 A | 入力 B | NAND(出力) | NOR(出力) |
|---|---|---|---|
| 0 | 0 | 1 | 1 |
| 0 | 1 | 1 | 0 |
| 1 | 0 | 1 | 0 |
| 1 | 1 | 0 | 0 |
📝 ポイント:暗記しなくてOK!
真理値表を丸暗記するのは大変です。問題が出るたびにベン図を描けば真理値表はすぐに作れるので、ベン図を描くクセをつけましょう。
4. 論理演算の優先順位
四則演算で「×や÷」を「+や−」より先に計算するように、論理演算にも優先順位があります。
括弧 > NOT > AND > OR
例えば、「A OR B AND C」という式があった場合、優先順位の高い「B AND C」が先に処理されます。
💡 試験アドバイス
「AND(論理積)はOR(論理和)より先に計算する」というルールは絶対に覚えておきましょう。これを知らないと計算結果が全く変わってしまいます。
5. 論理回路(MIL記号)|試験最頻出テーマ
論理回路とは、論理演算を行う電子部品のことで、CPU(中央処理装置)の中身そのものです。これを紙の上で表すために使うのがMIL記号(Military Standard)です。
▲ 論理回路のMIL記号一覧。試験中は画面で確認できますが、形の特徴だけ押さえておくと速く解けます
| 演算 | MIL記号の特徴 |
|---|---|
| AND | 半円に2つの直角(Dの形) |
| OR | 3つの角が尖っている(曲線) |
| NOT | 三角形の先端に小さな丸(丸が否定を表す) |
| NAND | ANDの記号に小さな丸 |
| NOR | ORの記号に小さな丸 |
| XOR | ORの記号の入力側に縦線(排他的を表す) |
論理回路の問題の解き方
試験に出る複雑な論理回路の問題は、以下の手順で解きます。
- 入力AとBのベン図を描く(1=色付き、0=白)
- 各論理回路(MIL記号)ごとにベン図を描いて、結果を次に渡していく
- 最終出力のベン図が、どの演算(ANDやXORなど)と一致するか確認する
📌 重要
論理回路の問題は、一見難しそうに見えますが、ベン図を丁寧に描いていくだけで必ず解けます。また、試験用語として「素子」「ゲート」「論理素子」「論理ゲート」はすべて同じ意味として扱われます。
6. 加算回路(半加算器・全加算器)
コンピュータがたし算を行うための論理回路を加算回路と呼びます。
-
半加算器: 下の桁からの桁上がりを考慮しない回路(1桁目の計算用)。
2進数のたし算(0+0=0, 0+1=1, 1+0=1, 1+1=10)を行います。
和の1桁目(S)はXOR回路、桁上がり(C)はAND回路の組み合わせで実現します。 -
全加算器: 下の桁からの桁上がりを考慮する回路(2桁目以降の計算用)。
入力が3つ(X, Y, 下位からの桁上がりZ)になります。
2つの半加算器 + 1つのOR回路で実現します。
| 種類 | 特徴 | 構成する論理回路 |
|---|---|---|
| 半加算器 | 桁上がりを考慮しない | XOR + AND |
| 全加算器 | 下位からの桁上がりを考慮する | 半加算器2つ + OR |
7. 計算式の表し方(逆ポーランド記法)|試験頻出!
計算式を表す方法には、演算子をどこに置くかによって3種類の記法があります。
| 記法 | 別名 | 例(1+2) |
|---|---|---|
| 中置記法 | 通常の記法 | 1 + 2 |
| 前置記法 | ポーランド表記法 | + 1 2 |
| 後置記法 | 逆ポーランド表記法 | 1 2 + |
▲ 3つの記法の違い。演算子を数字の「中」「前」「後ろ」のどこに置くかで名前が変わります
試験頻出 逆ポーランド表記法が出題される!
試験に出るのは後置記法(逆ポーランド表記法)だけです。コンピュータが計算する際、「スタック」というデータ構造と非常に相性が良いため、この記法が使われます。
中置記法 → 逆ポーランド表記法への変換手順
例: (A + B) × (C - D ÷ E)
- カッコ内の優先順位が高い演算子(÷)を後ろに移動 →
(A + B) × (C D E ÷ -) - カッコ内の(+)や(−)を後ろに移動 →
(A B +) × (C D E ÷ -) - 最後のかけ算(×)を一番後ろに移動し、カッコを外す →
A B + C D E ÷ - ×
8. オートマトン|状態遷移表・状態遷移図
オートマトンとは、機能を「入力」「状態」「出力」の3つで表すシステムのモデルのことです。現実世界の複雑なものを単純化して理解しやすくすることを「モデル化」と呼びます。
例えば自動販売機なら、「入力=入れたお金」「状態=合計金額」「出力=出てくる商品」としてモデル化できます。
▲ 状態遷移図のイメージ。丸が「状態」、矢印が「入力による状態の変化」を表します
状態がどのように変化するかを図にしたものが状態遷移図、表にしたものが状態遷移表です。入力値によって「奇数」か「偶数」かが切り替わるようなシステムを視覚的に追うことができます。図の中で「二重丸」になっている部分が、最終的な行き着く先(受理状態)を表します。
💡 試験ポイント
試験では「状態遷移表」や「状態遷移図」と、入力する値の順番が与えられ、最終的にどの状態(受理状態)に行き着くかをたどって答える問題が出題されます。
9. AI・機械学習・ディープラーニング
近年、基本情報技術者試験で急激に出題が増えているのがAI関連の用語です。これらの言葉の階層関係を理解しておきましょう。
▲ AI > 機械学習 > ディープラーニングの包含関係。最も広いのがAI、その中に機械学習、さらにその中にディープラーニングがあります
- AI(人工知能):人間が自然に行っている学習能力などをコンピュータに持たせる技術全般。
-
機械学習:コンピュータに学習用データを与え、自らが将来予測や意思決定を行えるようにする技術。
- 教師あり学習:入力データと「正解データ」をセットで与える(例:迷惑メールの判定)。
- 教師なし学習:入力データのみを与え、正解は教えずにコンピュータ自身が特徴を見つけてグループ分けを行う。
- ニューラルネットワーク:人間の脳の神経回路(ニューロン)の仕組みをコンピュータ上で模倣・再現した技術。
- ディープラーニング(深層学習):ニューラルネットワークを何重にも深く重ねた構造を持つ、高度な機械学習の手法。
| 用語 | 一言説明 |
|---|---|
| 機械学習 | 人間の学習能力をコンピュータで再現 |
| ニューラルネットワーク | 脳の神経回路を模倣 |
| ディープラーニング | ニューラルネットワークの多重構造(深層) |
| 教師あり学習 | 正解データあり |
| 教師なし学習 | 正解データなし(自分でグループ分け) |
10. 過去問チャレンジ!
🎯 記事冒頭の例題に、もう一度チャレンジ!
【例題・再掲】平成28年度 基本情報技術者試験 科目A
8ビットのビット列の下位4ビットが変化しない操作はどれか。
ア. 16進表記OFのビット列との排他的論理和をとる
イ. 16進表記OFのビット列との否定論理積をとる
ウ. 16進表記OFのビット列との論理積をとる
エ. 16進表記OFのビット列との論理和をとる
記事を読んだ今なら解けるはず!まず自分で考えてから、下の解説を確認してみましょう 👇
✅ 解答・完全解説
正解:ウ(論理積)
解説:
まず16進数の「0F」を2進数に変換します。「0F」は2進数で 00001111 になります。
「下位4ビットが変化しない」というのは、元のビット列がそのまま残る(保存される)操作を探すということです。
適当なビット列(例:10101010)を使って、00001111と各演算を試してみましょう。
- XOR(排他的論理和): 10100101(下位が反転して変化した)
- NAND(否定論理積): 11110101(変化した)
- AND(論理積):
00001010(下位4ビット「1010」が元のまま!) - OR(論理和): 10101111(すべて1に変化した)
論理積(AND)は「1」と掛けると元の値が残り、「0」と掛けると「0」になります。つまり、「特定のビットを変化させずに保持したいときはAND演算」を使うのが鉄則です!
【過去問 その2】令和元年度 秋期
8ビットの値の全ビットを反転する操作はどれか。
ア. 16進表記00との排他的論理和をとる
イ. 16進表記00との論理和をとる
ウ. 16進表記FFとの排他的論理和をとる
エ. 16進表記FFとの論理和をとる
💡 解答・解説
正解:ウ
16進数の「FF」は2進数で
11111111
です。すべてのビットが1のデータと排他的論理和(XOR)をとることで、元のビットが0なら1に、1なら0になり、全ビットをキレイに反転させることができます。
【過去問 その3】令和2年度 秋期
AIにおける機械学習の説明として最も適切なものはどれか。
ア.
蓄積したデータから特定のパターンを見つけ出すなどの、人が自然に行っている学習能力をコンピュータにもたせるための技術
イ. コンピュータ、機械などを使って、生命現象や進化のプロセスを再現するための技術
ウ. 特定の分野の専門知識をコンピュータに入力し、入力された知識を用いてコンピュータが推論する技術
エ.
人が双方向学習を行うために、Webシステムなどの情報技術を用いて、教材や学習管理能力をコンピュータにもたせるための技術
💡 解答・解説
正解:ア
「人が自然に行っている学習能力をコンピュータに持たせる」という記述が機械学習の定義そのものです。ちなみに、イは「人工生命」、ウは「エキスパートシステム」、エは「eラーニング(LMS)」の説明です。
11. この章のまとめ
📌 基礎理論②のまとめ
- AND=両方1のとき1、OR=どちらか1のとき1、XOR=異なるとき1、NOT=反転
- NAND=ANDの反転、NOR=ORの反転
- 優先順位: 括弧 > NOT > AND > OR
- 論理回路の問題はベン図で解く
- 半加算器=XOR+AND、全加算器=半加算器2個+OR
- 試験に出るのは後置記法(逆ポーランド表記法)のみ
- 機械学習 > 教師あり(正解データあり)/ 教師なし(正解データなし)
- ディープラーニング=ニューラルネットワークの多重構造
学習難易度:★★★☆☆
論理演算や論理回路はパターンが決まっています。見た目に騙されず、ベン図さえ描けば必ず解けるようになります!
この記事について
基本情報技術者試験の合格を目指す方のために、参考書の内容を初心者向けにわかりやすく噛み砕いて解説しています。ITの基礎をしっかり固めて、一緒に合格を目指しましょう!
