A binary encoder is a unit which changes discrete inputs into binary coded combinations of outputs. One place where encoders are frequently used is in the input units of computers. In most computers, it is not practicable to enter numbers and other information into the computer in binary form, as this would require the programmer to spend too much time in the detailed effort of accurately representing large numbers or complicated alphabets and symbols. Thus the computers are generally equipped with encoders, units which change discrete inputs into a combination of binary coded outputs.
The example illustrated below is a simple encoder which accepts as inputs ten discrete signals (I0 ... I9) representing the decimal digits 0 ... 9. It is presumed that only one of these signals is HIGH (logic 1) at any given time. On its output it produces the proper combination of pulses to represent the input signal in straight binary-coded decimal notation.
The simple encoder can generate an incorrect output when more than a single input is HIGH. A priority encoder is used in such cases.