in Digital Logic
793 views
0 votes
0 votes

why is C incorrect?
addition of any two nibbles such as

1000
1000
---------
0000

Will generate a final carry as 1 0000, which will require the addition of 0110 as 1 0110 to make it correct.

in Digital Logic
793 views

3 Comments

We don’t add correction factor when final carry is generated.

Ref : https://www.includehelp.com/basics/binary-coded-decimal-bcd-code-and-its-addition.aspx

2
2
I see, however, that has been not explicitly mentioned in the article you added, anywhere. Could you also add an explanation for the example that I have given above? Is it different from the case of generating carry?
1
1
edited by

@palashbehra5 Bhai, see the last example on that website. Image adding feature isn’t enabled while commenting. So, I will add it as an answer. Do let me know in case any doubt arises. I will help as per my knowledge :)

2
2

1 Answer

2 votes
2 votes

The example which you are asking for : 1000 + 1000 to which in decimal is 8 + 8 .. toh generally we get :             8 + 8 =16, then while performing BCD we should get the same too. 1000 + 1000 = 0001 0000. Now, we add 0110 to second term 0000 + 0110 = 0110. 0001 0110 is 16 which is correct. If the sum is greater than then add carry to the term. In your example, sum of 8 + 8  is 16, which is greater than 9 so we need to add 6 to the term which is sending the carry to other term which would be 0000 here, on adding 0110 to which we get 16 as correct result. So, only A and B are correct.

edited by

4 Comments

isnt 0001 0000 in BCD = 10?
1
1
edited by

 Yes @palashbehra5 you are right. I am sorry for the confusionindecision

1
1

Turns out it was from an nptel assignment, and a and b are the correct options.
 

I Believe, the third option is incorrect as it “maybe” doesn't really mean anything.

In the case of
1000
1000
--------
0000

Can be interpreted as
0000 1000
0000 1000
--------------
0001 0000
And then adding correction factor, which now falls in the 2nd case.

2
2
what will be the BCD addition of

1001 1001

1001 1001

?
0
0