Open In App

Encoders

Last Updated : 26 Nov, 2025
Comments
Improve
Suggest changes
65 Likes
Like
Report

An encoder is a digital combinational circuit that converts multiple input signals into a binary code. It typically has one active input at a time and generates a binary output representing the position of that active input. For example, a 4-to-2 encoder has four inputs and produces a 2-bit output code. Encoders are useful in digital systems for data compression and efficient transmission. Variants like priority encoders assign importance to inputs to manage simultaneous signals.

  • The number of inputs is usually 2n, with n output lines.
  • Inputs are usually active high, meaning high voltage represents an active signal.
  • Binary-weighted encoders assign codes based on input position using binary values.
  • Encoders help convert parallel inputs into compact binary formats for processing.
Encoder
Encoder

Types of Encoders

There are different types of Encoders which are mentioned below:

1. 4 to 2 Encoder

The 4 to 2 Encoder consists of four inputs Y3, Y2, Y1 & Y0, and two outputs A1 & A0. At any time, only one of these 4 inputs can be ‘1’ in order to get the respective binary code at the output. The figure below shows the logic symbol of the 4 to 2 encoder.

4 to 2 Encoder
4 to 2 Encoder

Truth Table

The Truth table of 4 to 2 encoders is as follows:

INPUTS(Y3Y2Y1Y0)OUTPUTS(A1A0)
000100
001001
010010
100011

Logical expression for A1 and A0:

A1 = Y3 + Y2
A0 = Y3 + Y1

Circuit Diagram

The above two Boolean functions A1 and A0 can be implemented using two input OR gates: 

Implementation using OR Gate
Implementation using OR Gate

2. Octal to Binary Encoder (8 to 3 Encoder)

The 8 to 3 Encoder or octal to Binary encoder consists of 8 inputs: Y7 to Y0 and 3 outputs: A2, A1 & A0. Each input line corresponds to each octal digit value and three outputs generate corresponding binary code. The figure below shows the logic symbol of octal to the binary encoder.

Octal to Binary Encoder (8 to 3 Encoder)
Octal to Binary Encoder (8 to 3 Encoder)

Truth Table

The truth table for the 8 to 3 encoder is as follows:

INPUTS(Y7Y6Y5Y4Y3Y2Y1Y0)OUTPUTS(A2A1A0)
00000001000
00000010001
00000100010
00001000011
00010000100
00100000101
01000000110
10000000111

Logical expression for A2, A1, and A0:

A2 = Y7 + Y6 + Y5 + Y4
A1 = Y7 + Y6 + Y3 + Y2
A0 = Y7 + Y5 + Y3 + Y1

Circuit Diagram

The above two Boolean functions A2, A1, and A0 can be implemented using four input OR gates:

Implementation using OR Gate
Implementation using OR Gate

3. Decimal to BCD Encoder

The decimal-to-binary encoder usually consists of 10 input lines and 4 output lines. Each input line corresponds to each decimal digit and 4 outputs correspond to the BCD code. This encoder accepts the decoded decimal data as an input and encodes it to the BCD output which is available on the output lines. The figure below shows the logic symbol of the decimal to BCD encoder.

Decimal to BCD Encoder
Decimal to BCD Encoder

Truth Table

The truth table for decimal to BCD encoder is as follows:

INPUTS(Y9Y8Y7Y6Y5Y4Y3Y2Y1Y0)OUTPUTS(A3A2A1A0)
00000000010000
00000000100001
00000001000010
00000010000011
00000100000100
00001000000101
00010000000110
00100000000111
01000000001000
10000000001001

Logical expression for A3, A2, A1, and A0:

A3 = Y9 + Y8
A2 = Y7 + Y6 + Y5 +Y4
A1 = Y7 + Y6 + Y3 +Y2
A0 = Y9 + Y7 +Y5 +Y3 + Y1

Circuit Diagram

The above two Boolean functions can be implemented using OR gates:

Implementation using OR Gate
Implementation using OR Gate

4. Priority Encoder

A 4 to 2 priority encoder has 4 inputs: Y3, Y2, Y1 & Y0, and 2 outputs: A1 & A0. Here, the input, Y3 has the highest priority, whereas the input, Y0 has the lowest priority. In this case, even if more than one input is ‘1’ at the same time, the output will be the (binary) code corresponding to the input, which is having higher priority.

Truth Table

The truth table for the priority encoder is as follows:

INPUTS(Y3Y2Y1Y0)OUTPUTS(A1A0V)
0000XX0
0001001
001X011
01XX101
1XXX111

Logical Expressions using K-Map

The logical expression for A1 is shown below:

Logical Expression
Logical Expression

The Logical Expression for A0 is shown below:

Logical Expression
Logical Expression

Circuit Diagram

The above two Boolean functions can be implemented as:

Priority Encoder
Priority Encoder

Errors in Encoders

There are some errors that usually happen in Encoders are mentioned below:

  • There is an ambiguity, when all outputs of the encoder are equal to zero.
  • If more than one input is active High, then the encoder produces an output, which may not be the correct code.

So, to overcome these difficulties, we should assign priorities to each input of the encoder. Then, the output of the encoder will be the code corresponding to the active high inputs, which have higher priority.


Article Tags :

Explore