私の教授はクラスに、基本的な加算器を使用して 32 ビット加算器をシミュレートする C プログラムを作成するように割り当てました。32 ビット加算器が 8 X 4 ビット加算器で構成されていることは知っています。ただし、C で 4 ビット加算器をシミュレートする方法さえわかりません。4 ビット バイナリ リップル キャリー加算器、4 ビット バイナリ ルックアヘッド キャリー ジェネレーター、および 4 ビット ルックアヘッド キャリーを実装する必要があります。加算器。全加算器とカルノー写像の真理値表から、Sum と Carry Out の出力の関数を取得しました。Sum については、A xor B xor キャリーインを受け取りました。キャリーアウト関数については、(A*B) + (キャリーイン(A xor B)) を受け取りました。今、私はどこに行けばいいのかわからない。ビット単位の演算子を使用してビット レベルで整数を操作する必要があると確信しています (ビット単位の演算子の基本的な知識はありますが、紙と鉛筆以外で実装したことはありません)。
関数の A、B、およびキャリーイン入力を取得するために整数を分割するにはどうすればよいですか? Sum および Carry Out の出力を取得するにはどうすればよいですか? 全加算器をつなぎ合わせて 4 ビット加算器を取得するにはどうすればよいですか?
お手伝いありがとう!