Difficulty: Medium
Correct Answer: 0010 0101 0000
Explanation:
Introduction / Context:
BCD addition requires normal binary addition per digit plus a correction step (adding 0110) whenever a 4-bit sum exceeds 1001 or a carry out of the nibble occurs. Here you are asked to add three BCD numbers given as consecutive nibbles and return the BCD-correct result.
Given Data / Assumptions:
Concept / Approach:
Add the numbers as ordinary decimal: 67 + 95 + 88 = 250. Then encode the result 250 in BCD as digits 2, 5, 0 → 0010 0101 0000. Alternatively, you can carry out full BCD nibble-by-nibble addition with correction (add 0110 when a nibble sum exceeds 1001 or generates a carry) to reach the same result.
Step-by-Step Solution:
1) Convert BCD to decimal: 67, 95, 88.2) Add in decimal: 67 + 95 = 162; 162 + 88 = 250.3) Convert 250 to BCD: 2 → 0010, 5 → 0101, 0 → 0000.4) Final BCD result: 0010 0101 0000.
Verification / Alternative check:
Perform digit-wise BCD addition: units digit 7 + 5 + 8 = 20 → write 0 (0000) and carry 2; tens digit 6 + 9 + 8 + carry 2 = 25 → write 5 (0101) and carry 2 to hundreds; hundreds digit carry only → 2 (0010). Matches 0010 0101 0000.
Why Other Options Are Wrong:
Long strings with 1011 (B) or 1111 (F) are not valid BCD digits (greater than 9).Appended zeros beyond 6 nibbles change the encoding length unnecessarily.Other patterns do not encode 250 correctly in BCD.
Common Pitfalls:
Forgetting to apply the BCD correction (add 0110) when a nibble exceeds 1001 or when carries propagate. Also, mixing up the digit boundaries when reading consecutive nibbles.
Final Answer:
0010 0101 0000
Discussion & Comments