To add two decimal digits we need two 4 bit adders.
First one for adding the two BCD number and second one to make the result a valid BCD number.
Now for the first one we need a simple 4 bit adder which we can construct using 3 full adders and 1 half adder.
For the second one we need to observe how it is working,
Suppose the result obtained from 1st 4 bit adder be D3 D2 D1 D0 and also suppose this number is greater than 9. So we have to add 0110 to make it a proper BCD
Carry |
|
C3 |
C2 |
C1 |
0 |
|
Result from 1st 4 bit adder |
+ |
|
D3 |
D2 |
D1 |
D0 |
Adding 6 |
+ |
|
0 |
1 |
1 |
0 |
Final result |
|
|
|
|
|
D0 |
Now D0 will always be added with 0.So we dont need any adder for this.
Since we dont need adder for LSB ( D0) , no carry will be generated by LSB. That means D1 will be simply added with 1 only and this can be done by half adder.
Also D3 will be added with C2 only. So here too we can use half adder.
To add D2 we will need full adder.
So total full adders = 3+1 =4 and Half adders = 1+2 = 3
So I think answer should be C)