Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
16
Task/Four-bit-adder/Mathematica/four-bit-adder-1.math
Normal file
16
Task/Four-bit-adder/Mathematica/four-bit-adder-1.math
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
and[a_, b_] := Max[a, b];
|
||||
or[a_, b_] := Min[a, b];
|
||||
not[a_] := 1 - a;
|
||||
xor[a_, b_] := or[and[a, not[b]], and[b, not[a]]];
|
||||
halfadder[a_, b_] := {xor[a, b], and[a, b]};
|
||||
fulladder[a_, b_, c0_] := Module[{s, c, c1},
|
||||
{s, c} = halfadder[c0, a];
|
||||
{s, c1} = halfadder[s, b];
|
||||
{s, or[c, c1]}];
|
||||
fourbitadder[{a3_, a2_, a1_, a0_}, {b3_, b2_, b1_, b0_}] :=
|
||||
Module[{s0, s1, s2, s3, c0, c1, c2, c3},
|
||||
{s0, c0} = fulladder[a0, b0, 0];
|
||||
{s1, c1} = fulladder[a1, b1, c0];
|
||||
{s2, c2} = fulladder[a2, b2, c1];
|
||||
{s3, c3} = fulladder[a3, b3, c2];
|
||||
{{s3, s2, s1, s0}, c3}];
|
||||
1
Task/Four-bit-adder/Mathematica/four-bit-adder-2.math
Normal file
1
Task/Four-bit-adder/Mathematica/four-bit-adder-2.math
Normal file
|
|
@ -0,0 +1 @@
|
|||
fourbitadder[{1, 0, 1, 0}, {1, 1, 1, 1}]
|
||||
Loading…
Add table
Add a link
Reference in a new issue