差分

移動先: 案内検索

2の補数

116 バイト追加, 2016年5月15日 (日) 17:13
/* 加算器と2の補数 */
1ビットレジスタの加算器をビット演算を行う回路でどのように表現を考えてみます。
ビット演算 AND、OR、XOR、NOTは次のような動作をします。AND、OR、XORを定義します。   * AND 双方の入力ビットが1の時のみ1 * OR どちらかの入力ビットに1があれば1* XOR 入力ビットが異なれば1、同じであれば0* NOT 入力ビットを反転させる。
* AND 双方のビットが1の時のみ1
* OR どちらかのビットに1があれば1
* XOR ビットが異なれば1、同じであれば0
* NOT ビットを反転させる
1ビットだけの加算を考えると次のようになります。
=== Half Adder と Full Adder ===
では2ビット加算器を考えてみましょう。01 では2ビット以上の加算器<ref>暗黙の了承としてビックエンディアンとします。</ref>を考えてみましょう。ここではまず01 + 01 の加算を考えてみます。
まず最初のビットは 1 + 1 です。ビットは0になります。次のビットに1を繰り上げます。
この回路のことをHalf Adderと呼びます。ビット演算回路で示すと下記の'''Half Adder'''の図のようになります。
次のビットは下から繰り上がってきたビットも含めて計算することになります。次のビット以降は下から繰り上がってきたビットも含めて計算することになります。
この回路のことをFull Adderと呼びます。ビット演算回路で示すと下記の'''Full Adder'''の図のようになります。