加算器には、下位からの桁上がりを考慮しない半加算器と、それも考慮する全加算器とがある。
気づき
2進数の計算処理を行う仕組みに触れるのか。
なんか今までの2進数の計算は違ったのか。また足し算、引き算、掛け算、割り算を学んできたが...。
とりあえず勉強してみよう。
半加算器は、どんな理屈でできているのか?
入力ABと出力SCがある。
出力SCの役割はSは1桁目Cは2桁目(桁上がり)を表す。
仮に入力Aが1Bが0の場合、 Sは1、Cは0を表す。
1 + 0 = 1
どちらも1の入力の場合はSは0、Cは1を表す。
1 + 1 = 10
全加算器は、どんな理屈でできている?
繰り上がってくる可能性に対応している。
なので入力出力は2対2で後から繰り上がり分が足されるためにもう一度半加算器を使う。
一つの桁で繰り上がりは2度同時に起きないためにOR回路にして完成。
1+1=10(半加算器)になる。しかし 繰り上がり分1(もう一つの入力)がSと足されて1(0+1の半加算器)になる。一つ目のCと2つ目のCが足されてもう2度繰り上がるのは困るのでORで一度だけにする。
気づき
半加算器と全加算器の構造がわかった。
説明は下手だけど。
より上手く書けるように頑張ろう。