Before delving into adding BCD addition, here is a quick understanding of a Binary Coded Decimal.

The decimal number system is made up of 10 digits (from 0 to 9). We know that we can form binary numbers for all these digits. The BCD system uses four binary digits to form the binary number (from 0001 to 1001).

Therefore, if a decimal number has one digit, then its equivalent binary form will have four binary digits. For 2-digit decimal numbers, the binary form will have 8 digits.

Here is a quick look at decimal numbers and their binary and BCD codes

## BCD Conversion Table

Decimal Number | Binary Form | BCD code |

0 | 0000 | 0000 |

1 | 0001 | 0001 |

2 | 0010 | 0010 |

3 | 0011 | 0011 |

4 | 0100 | 0100 |

5 | 0101 | 0101 |

6 | 0110 | 0110 |

7 | 0111 | 0111 |

8 | 1000 | 1000 |

9 | 1001 | 1001 |

10 | 1010 | 0001 0000 |

11 | 1011 | 0001 0001 |

12 | 1100 | 0001 0010 |

13 | 1101 | 0001 0011 |

14 | 1110 | 0001 0100 |

15 | 1111 | 0001 0101 |

**How to do BCD Addition?**

Being a numerical code, there are certain rules for BCD addition as explained below:

**1. Use the binary rules of addition to add the BCD numbers as shown below**

**Add 5(decimal) and 3 (decimal). Converting them into binary codes, we get**

5 = 0101

3 = 0011

The BCD addition is done as follows:

**0101 ****+ ****0011 = ****1000**

**2. Check the result of the addition**

If the result of the addition is less than 9, then it is a valid BCD number. However, if the result is greater than 9, then you need to convert it into a valid BCD code.

**3. Make the result valid**

If the result of the addition is greater than 9, then the result is an invalid BCD code. In such cases, you need to add 6 (0110) to the result to get a valid code. Here is an example:

Add 9 (decimal) and 6 (decimal). Converting them into binary codes, we get:

9 = 1001

6 = 0110

The BCD addition is:

**1001 ****+ ****0110 = ****1111 (decimal 15)**

However, this is not a valid BCD code. Hence, we add 6 (0110) to the result as shown below:

**1111 ****+ ****0110 = ****1 0101 (also represented as 0001 0101 or decimal 15)**

**Why is 6 (0110) added to the result?**

There are 6 invalid states of binary-coded decimal (from 10 to 15). In order to skip these states, we add 6 to the result of the invalid BCD addition.

Let us see some examples on BCD Addition

**Solved Examples for BCD Addition**

**Example 1**

(7)10 + (4)10

7 → 0111

4 → 0100

Therefore,

**0111 ****+ ****0100 = ****1011 → which is an invalid BCD number**

Hence, we add 0110 to the result

**1011 ****+ ****0110 = ****1 0001 or 0001 0001 → (11)****10**

**Example 2**

Add (26)10 and (11)10

26 → 0010 0110

11 → 0001 0001

Therefore,

**0010 0110 ****+ ****0001 0001 = ****0011 0111 → a valid BCD number (37)****10**

Since both 0011 (3)10 and 0111 (7)10 are valid BCD numbers, we don’t need to add 6 (0110) to the result.

Example 3

Add (599)10 and (984)10

599 → 0101 1001 1001

984 → 1001 1000 0100

Therefore,

**0101 1001 1001 ****+ ****1001 1000 0100 = ****1110 10001 1101**

As you can see above, all three sums (1110, 10001, and 1101) are greater than 1010 (9)10. Hence, we add (6)10 to all three sums.

**1110 10001 1101 ****+ ****0110 0110 0110 = ****1 0101 1000 0111**

**The final result is:**

0001 0101 1000 0111 → 1583

This can be verified by checking the decimal number addition:

599 + 984 = 1583.

**Example 4**

Add (1503)10 and (5623)10

The BCD code for 1503 → 0001 0101 0000 0011

The BCD code for 5623 → 0101 0110 0010 0011

Adding them, we get

**0001 0101 0000 0011 ****+ ****0101 0110 0010 0011 = ****0110 ****1011**** 0010 0110**

As you can see from the results above, 1011 is an invalid BCD while other results are valid BCD codes. Hence, we add 0110 to the invalid code alone:

**0110 ****1011**** 0010 0110 ****+ ****0000 ****0110**** 0000 0000 = ****0111 0001 0010 0110**

**The final result is:**

0111 0001 0010 0110 → 7126

This can be verified by checking the decimal addition:

1503 + 5623 = 7126