普段人間は十進数で計算とかしていますが、コンピューターは二進数で計算しています。
十進数 二進数
0 0000
1 0001
2 0010
3 0011
4 0100
5 0101
6 0110
7 0111
8 1000
9 1001
という感じです。
そういう訳で、ネットで調べた情報をもとに二進数の足し算をするXPressoを作りました。
FAってのが4個あって、その中身は↓のようになってます。
HAの中身は↓のようになってます。
XOR回路というのはExclusive OR の略で排他的論理和のことで
普通のOR回路が
0 0→0
0 1→1
1 0→1
1 1→1
となるところを、XOR回路では、
0 0→0
0 1→1
1 0→1
1 1→0
としてくれるので、繰り上がりの表現に必要なんです。2進数では01+01は10(1の位が繰り上がって0になり、10の位が1になる)なので。
ちなみにAND回路は
0 0→0
0 1→0
1 0→0
1 1→1
ですね☆1の位がどっちも1のときにCarry(繰り上がり)の為の1を出力します。
XPressoもなかなか役に立つネ!
ちなみに、XOR回路とかAND回路とかOR回路のノードはどうやって呼び出すのかというと、↓のようにします。ブール演算ノードです。
演算のタイプを切り替えて使用します。名前も分かりやすく変えましょう。
つづく
※コメント投稿者のブログIDはブログ作成者のみに通知されます