無料ブログはココログ

amazon

フォト

« 数学的な、一次元、四次元の図形 | トップページ | 金星探査機「あかつき」からの電波を受ける »

2010年12月 2日 (木)

足し算の回路(AND, OR, XOR)

2進数の足し算の回路はAND, OR, XOR回路で実現できる。

これらは共に2つの入力から1つの出力を得る。

AND(且つ)は、入力の2つが共に1の時に1を出力し、それ以外は0を出力する。

入力1 入力2 出力
0 0 0
0 1 0
1 0 0
1 1 1

OR(または)は、入力2つのいずれかが1であれば1を出力し、入力2つとも0ならば0を出力する。

入力1 入力2 出力
0 0 0
0 1 1
1 0 1
1 1 1

XOR(排他OR)は、入力2つが1と0の時だけ1を出力し、それ以外(つまり入力2つが同じなら)0を出力する。

入力1 入力2 出力
0 0 0
0 1 1
1 0 1
1 1 0

これらを良く見ると、1/0の足し算回路が簡単にできる。

2進数の足し算は、

0 + 0 = 00
0 + 1 = 01
1 + 0 = 01
1 + 1 = 10

だけである。これらを良く見ると、1の位はXOR回路、10の位はAND回路となっている。

初代のコンピュータでは、1/0の足し算は基本的にこの回路だけで作成されていた。もっとも、初代のコンピュータは2進数の足し算しかできなかった。引き算は2の補数を求めて行い、掛け算や割り算も基本的なこの回路だけで行われていた。

掛け算の例を取ると、「2倍するには元となるビットを左に1ビットシフトし、3倍するには2倍した結果と元の値の足し算で求める」といったふうである。

これで全ての計算していたのだから、考えれば単純である。

ん~。でも良くできているものだな~。

« 数学的な、一次元、四次元の図形 | トップページ | 金星探査機「あかつき」からの電波を受ける »

パソコン・インターネット」カテゴリの記事