pafuイーランスクール 学んでできる

Web学習室TOPへ戻る >  メニューへ戻る

論理演算・シフト演算と加算器(基礎理論)

学習のポイント

コンピュータ内部での演算には「論理演算」「シフト演算」「マスク処理」「四則演算」があります。四則演算では「加算演算」のしくみを押さえます。減算は補数を使用した加算処理、乗算は、加算の繰り返し処理、除算は、減算の繰り返し処理ということになります。「半加算器」「全加算器」「順序回路」の仕組みをしっかりと、理解しましょう。

1. 論理演算
●論理演算
入力A 入力B 論理積
AND
論理和
OR
排他的論理和
XOR
0 0 0 0 0
0 1 0 1 1
1 0 0 1 1
1 1 1 1 0
論理演算には、上記の3つに加えて、色々な種類があります。
論理積(AND)
両方のビットが「1」の時、結果が「1(真)」となる。
論理和(OR)
いずれかが「1」の時、結果が「1(真)」となる。
論理否定(NOT)
ビットを反転させる。
排他的論理和(XOR)
ビットが等しければ、「0」、等しくなければ「1(真)」となる。
否定論理積(NAND)
ANDの結果の否定
否定論理和(NOR)
ORの結果の否定
※論理演算の表現は、「ベン図」「真理値表」「MIL記号」などを使用します。

※下記は、基本情報技術者試験で使用される図です。
2. シフト演算
レジスタの内容を指定したビット数分だけシフトさせる命令です。以下の種類があります。
シフト命令 内容
論理左シフト 3ビットシフトさせる場合、左3桁は捨てられ、右に「0」を補います
論理右シフト 3ビットシフトさせる場合、右3桁は捨てられ、左に「0」を補います
算術左シフト 3ビットシフトさせる場合、最上位ビットはシフトせず、それ以降の3ビットは捨てられ、右に「0」を補います。
算術右シフト 3ビットシフトさせる場合、右3桁は捨てられ、左は、最上位ビットはシフトせず、その他は、最上位ビットの値を補います。
回転シフト
(巡回シフト)
シフトを巡回していくような方法で行うものです。シフトアウトされたビットが反対側から入ってきます。例を以下に示します。

●右への回転シフト(上位ビットから回転させる)
10110を右へ3ビット回転シフトすると、10101
 01101->11010->10101

●左への回転シフト(下位ビットから回転させる)
・10110を左へ3ビット回転シフトすると、11010
 01011->10101->11010
※(ポイント)

算術左シフト」の場合は、nビットのシフトで、2nになる。
算術右シフト」の場合は、nビットのシフトで、2-nになる。

3. マスク処理
●マスク処理 マスク処理とは、もとのビット列の特定の部分を取り出したりすることです
通常は、「AND」を使用して「0の時は0」「1の時はもとと同じ」となります。
(11001010) 元の2進数の上位2桁以外を取り出す場合
(00111111) 取り出すビットは「1」とします。両者のAND演算を行うと、
(00001010) これで元のビット列の上位2桁以外を取り出すことが出来ました。
操作 マスクパターン 論理演算
特定の部分をそのまま残して残りはすべて「0」にする そのまま残す部分に「1」その他のビットを「0」にする AND
特定の部分をそのまま残して残りはすべて「1」にする そのまま残す部分に「0」その他のビットを「1」にする OR
特定の部分のビットを反転させる 反転する部分に「1」その他を「0」にする XOR
4. ド・モルガンの法則

この法則を知っていると論理演算を簡潔に表現することが可能です。是非、覚えておいて下さい。
●「・」は論理積
●「+」は論理和
●「-」は否定
を表現しています。

以下のように使用します。


過去問題 平成27年秋期
5. 半加算器
半加算器とは「加算器の一つで、2進数の一桁の加算を行なう回路
半加算器は、繰り上がりを考慮しない2進数1桁の加算と、1桁の繰り上がりを出力することができます。
半加算器だけでは2進数の一桁しか計算できず、下の桁からの繰り上がりも処理できないが、半加算器を二つ組み合わせると全加算器となり、下の桁からの繰り上がりを考慮した二進数の一桁の加算が実現されるようになります。
また、8桁(8ビット)の加算器を実現するには、全加算器を8個またき、半加算器を16個を用意すれば実現できます。
二つの入力「入力A」「入力B」より、1桁の答え「S」と1桁の繰り上がり「C」を出力します。 下記より、答え(S)は入力(A・B)の「排他的論理和(XOR)」で、繰り上がり(C)は入力(A・B)の「論理積(AND)」となります。

半加算器は、AND回路、OR回路、NOT回路より構成されます。
6. 全加算器
全加算器とは、「2個の半加算器と1個のOR回路から構成され、繰り上がりを考慮した加算器
全加算器を必要な桁数分を組み合わせれば、任意桁の2進数の加算を実現できることになります。 1つの全加算器は、2つの半加算器と一つのOR回路から構成されます。つまり、3入力(演算A・B・繰り上がりC1)で、2出力(演算結果のS・繰り上がりC)となります。

全加算器は、2つの半加算器とOR回路より構成されます。
7. 順序回路
順序回路」とは、「外部入力と回路自体の状態によって出力が決まる」というものです。代表的なものに「フリップフロップ回路」があります。これは「記憶装置」で利用されています。
入力値 出力値 内容
S R Q
0 0 0または1 直前の入力状態を保持する
0 1 0 リセット
1 0 1 セット
1 1 - 禁止(不安定になる)
Web学習室TOPへ戻る >  メニューへ戻る

pafuイーランスクール

pafuイーランスクール 学んでできる