#include /* * full adder: inputs A, B, Cin; outputs Sum and Cout */ void FullAdder (int A, int B, int Cin, int *Sum, int *Cout) { *Sum = (A ^ B) ^ Cin; *Cout = (A & B) | (A & Cin) | (B & Cin); return; } /* * test full adder for all input values */ int main() { int A, B, Cin, Sum, Cout; for (A=0; A<=1; ++A) for (B=0; B<=1; ++B) for (Cin=0; Cin<=1; ++Cin) { FullAdder (A, B, Cin, &Sum, &Cout); printf ("A=%d\tB=%d\tCin=%d\tSum=%d\tCout=%d\n", A, B, Cin, Sum, Cout); } return 0; }