算術演算と論理演算

論理回路 logic

論理回路が行う16進数(2進数)の演算には、算術演算と論理演算という種類があります。 算術演算は、日常生活で行う通常の計算と同様に、2つの数を加算したり減算したりする演算です。論理演算は、2つの数の同一ビット位置ごとに処理を行う演算です。表1は、主な算術演算と論理演算の種類です。

表1: 算術演算と論理演算
演算 主な種類
算術演算 加算(和)、減算、乗算、除算
論理演算 OR(論理和), AND(論理積), XOR

算術演算の加算と論理演算のOR(論理和)は用語が少し似ていますが、処理が異なります。 具体的な例として、2つの8ビットの数\(10101111_{2}(AF_{16})\)と\(11111010_{2}(FA_{16})\)について、算術演算の加算と論理演算の論理和を行います。

算術演算の加算

算術演算の加算
図1: 算術演算の加算

図1のように、算術演算の加算結果は\(110101001_{2}(1A9_{16})\)です。算術演算の加算は、2つの数の各ビットを下位ビットから順に加算(XOR)します。この例では、最終的に桁上がりが発生するため、 加算結果を正確に表すためには9ビットが必要になります。

論理演算の論理和

論理演算のOR(和)
図2: 論理演算のOR(和)

図2のように、論理演算の論理和の結果は\(11111111_{2}(FF_{16})\)です。論理和はビット単位でORを行うため、算術演算のように下位ビットからの桁上がりで演算結果のビット数が増えることはありません。あるビットの演算は、他のビットの演算に影響を与えません。

その他の論理演算

論理演算のANDとXORも同様に、あるビットの演算は、他のビットの演算に影響を与えません。2つの8ビットの数\(10101111_{2}(AF_{16})\)と\(11111010_{2}(FA_{16})\)の論理演算ANDの結果が図3、論理演算のXORの結果が図4です。

論理演算のAND
図3: 論理演算のAND
論理演算のXOR
図4: 論理演算のXOR
タイトルとURLをコピーしました