**Prerequisite –** Number System and base conversions

Excess-3 binary code is a **unweighted self-complementary** BCD code.

Self-Complementary property means that the 1’s complement of an excess-3 number is the excess-3 code of the 9’s complement of the corresponding decimal number. This property is useful since a decimal number can be nines’ complemented (for subtraction) as easily as a binary number can be ones’ complemented; just by inverting all bits.

For example, the excess-3 code for 3(0011) is 0110 and to find the excess-3 code of the complement of 3, we just need to find the 1’s complement of 0110 -> 1001, which is also the excess-3 code for the 9’s complement of 3 -> (9-3) = 6.

### Converting BCD(8421) to Excess-3 –

As is clear by the name, a BCD digit can be converted to it’s corresponding Excess-3 code by simply adding 3 to it.

Let be the bits representing the binary numbers, where is the LSB and is the MSB, and

Let be the bits representing the gray code of the binary numbers, where is the LSB and is the MSB.

The truth table for the conversion is given below. The X’s mark don’t care conditions.

To find the corresponding digital circuit, we will use the K-Map technique for each of the Excess-3 code bits as output with all of the bits of the BCD number as input.

Corresponding minimized Boolean expressions for Excess-3 code bits –

The corresponding digital circuit-

### Converting Excess-3 to BCD(8421) –

Excess-3 code can be converted back to BCD in the same manner.

Let be the bits representing the binary numbers, where is the LSB and is the MSB, and

Let be the bits representing the gray code of the binary numbers, where is the LSB and is the MSB.

The truth table for the conversion is given below. The X’s mark don’t care conditions.

K-Map for D-

K-Map for C-

K-Map for B-

K-Map for A-

<img src="

Corresponding minimized boolean expressions for Excess-3 code bits –

The corresponding digital circuit –

Here correspond to and correspond to .

**References-**

Digital Design, 5th edition by Morris Mano and Michael Ciletti

Excess-3 – Wikipedia

This article is contributed by **Chirag Manwani**. If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.

Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the **DSA Self Paced Course** at a student-friendly price and become industry ready.

## Recommended Posts:

- Code Converters - Binary to/from Gray Code
- Need for Intermediate Code and Code Optimization
- Three address code in Compiler
- Register Allocations in Code Generation
- VHDL code for AND and OR Logic Gates
- Code Optimization in Compiler Design
- Hamming Code in Computer Network
- Introduction of Object Code in Compiler Design
- Intermediate Code Generation in Compiler Design
- Compiler Design | Detection of a Loop in Three Address Code
- Computer Organization | Locality and Cache friendly code
- Examples of Data Link Layer Protocols
- 3 big changes in GATE 2021
- Difference between Hierarchical and Relational data model