0
\$\begingroup\$

I am new to the concepts of using adders to add numbers but I tried using the definitions which I understood as given two binary digits A, B the full adder takes three inputs A, B, C where C acts as a control bit or a carry bit, gives the SUM= (A XOR B), C=A.B, where . is the AND operator. NOw to find the sum of numbers let's say 2 and 6, first, I write the binary representation of both i.e 010 and 110, since they are 3-bit numbers I use 3 full adders and proceed as follows

a0 b0 c0 S0 C

0 0 0 0 0

1 1 0 0 1

0 1 1 0 0

So my ouput string becomes '000' but it should have been '1000' i.e 8, what am i missing can somebody explain.

\$\endgroup\$
  • 1
    \$\begingroup\$ In your calculation you just missed the final carry into bit position 3. This comes about due to the carry out of bit position 1 into bit position 2.. \$\endgroup\$ – Nedd Mar 25 at 8:33
  • \$\begingroup\$ Your arrangement of the three full-adders should look like the following: 3-bit adder using only FA. That diagram includes the inputs of 010 and 110 in binary and shows the output as 1000 as a binary result. You can also see the individual carry lines. Take note of them. \$\endgroup\$ – jonk Mar 25 at 10:08
  • \$\begingroup\$ @jonk my last carry i.e R_3 is 0, can you exlain this a bit \$\endgroup\$ – Upstart Mar 25 at 10:17
  • \$\begingroup\$ @Upstart You can see the full disclosure of the three adders in the diagram, complete with all wire values. When you perform your own calculations, how do your results differ from what I show in the diagram? Please note that in the 3rd adder there is only one "1" coming from either A or B, but there is a "1" coming in as a carry-in. So the 3rd adder adds "1" and "1" and produces "10" as it should. \$\endgroup\$ – jonk Mar 25 at 10:19
  • \$\begingroup\$ You are responsible for handling/connecting the CarryIn and the Carryout of each of the FAs. The 3rd Carryout provides the new 4rth bit. \$\endgroup\$ – analogsystemsrf Mar 25 at 10:43
0
\$\begingroup\$

Write it as 0010 and 0110

Like in decimal system, we add single digits of same place value at a time, if answer is a double digit number, we keep the unit digit and carry over the tens place to next addition cycle, luckily in binary system possibilities are only:

enter image description here

When you add 010 and 110 , start from LSB:

0+0=0, therefore sum is zero and since its single digit , 0 is carried over to 2nd LSB:

1+1+0=10 Therefore sum is 0 and carry is 1 i.e. for MSB:

0+1+1=10 Therefore sum is zero and carry is 1 i.e. for fourth cycle:

0+0+1=1 Hence answer is 1000

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.