Code converters are combinational circuits that convert data from one binary code to another. BCD (8421) and Excess-3 are two commonly used decimal codes in digital electronics, each designed for different representation and arithmetic requirements.
- BCD (8421) represents each decimal digit directly using a unique 4-bit weighted binary code and is commonly used in calculators, digital clocks, and display systems.
- Excess-3 is a non-weighted, self-complementing code obtained by adding 3 (0011) to the corresponding BCD value, making it useful for complement-based arithmetic operations.

Converting BCD(8421) to Excess-3
A BCD (8421) digit is converted to its corresponding Excess-3 code by adding 3 (0011) to the BCD value. Since only decimal digits 0–9 are valid, the remaining input combinations are treated as don't-care (X) conditions.
Let A, B, C, and D represent the BCD (8421) input bits, where A is the MSB and D is the LSB. Similarly, let w, x, y, and z represent the Excess-3 output bits, where w is the MSB and z is the LSB.
The truth table for the conversion is given below. The X's mark is don't care condition.Â

To obtain the corresponding digital circuit, K-Maps are used to minimize the Boolean expression for each Excess-3 output bit using the BCD (8421) input bits.

Minimized Boolean expressions (partial):
w = A + BC + BD
x = B′C + B′D + BC′D′
The corresponding digital circuit:

Converting Excess-3 to BCD(8421)
An Excess-3 code is converted back to BCD (8421) using the reverse conversion process.
- Let w, x, y, and z represent the Excess-3 input bits, where w is the MSB and z is the LSB.
- Similarly, let A, B, C, and D represent the BCD (8421) output bits, where A is the MSB and D is the LSB.
- Let w, x, y, and z represent the Excess-3 code bits
The truth table for the conversion is given below. The X's mark is don't care condition.Â

K-Map for D

K-Map for C

K-Map for B

K-Map for A

Â
Corresponding Minimized Boolean Expressions for BCD (8421) Output Bits:
A = wx + wyz
B = x′y′ + x′z′ + xyz
C = y′z + yz′
D = z′
The corresponding digital circuit:
Here, E3, E2, E1, and E0 represent the Excess-3 input bits (w, x, y, z), while B3, B2, B1, and B0 represent the BCD (8421) output bits (A, B, C, D).
Â

BCD vs Excess-3
| BCD | Excess-3 |
|---|---|
| Represents each decimal digit directly using its 4-bit binary equivalent. | Represents each decimal digit by adding 3 (0011) to its BCD value. |
| Requires additional correction logic during arithmetic operations. | Simplifies complement and subtraction operations due to its self-complementing property. |
| Does not provide built-in error detection. | Invalid code combinations are easier to detect. |
| Uses a 4-bit binary code for each decimal digit. | Uses a 4-bit code obtained by adding 3 to the corresponding BCD value. |
| Directly represents decimal digits. | Conversion requires adding or subtracting 3 between BCD and Excess-3. |