I codificatori (encoder) sono circuiti in grado di rilevare la presenza di un ingresso attivo fornendo in uscita il codice binario corrispondente. Se in ingresso si hanno 2n linee, in uscita si hanno n linee.
Gli encoder digitali di questo tipo possono avere diverse configurazioni a seconda delle esigenze specifiche. Ad esempio:
Encoder binari: Accettano input binari e producono un output che può essere rappresentato in una forma specifica, come Gray code o uno schema di codifica personalizzato.
Encoder a priorità: Utilizzati per codificare una serie di input, ciascuno con una priorità specifica, in un singolo output.
Encoder di priorità multipla: Simili agli encoder a priorità, ma consentono la rappresentazione di più input con priorità in un singolo output.
Questi encoder digitali sono comunemente utilizzati in elettronica digitale, nella progettazione di circuiti digitali e nella trasmissione di dati, dove è importante rappresentare i dati in modo efficiente o elaborare segnali digitali in modo specifico.
Per distinguerli dagli encoder rotativi o lineari che misurano la posizione fisica, è comune riferirsi a questi dispositivi come "encoder digitali" o "codificatori digitali logici" per evitare confusioni con gli encoder di posizione.
Esempio: codificatore da 8 a 3 linee (ottale-binario)

Per quanto riguarda l'uscita si ha C come cifra più significativa (MSB: most significant bit), mentre A come cifra meno significativa (LSB: least most significant bit).
Tale circuito può essere realizzato nel seguente modo:
\( C = I_4 + I_5 + I_6 + I_7 \) \( B = I_2 + I_3 + I_6 + I_7 \) \( A = I_1 + I_3 + I_5 + I_7 \)

In tale circuito gli ingressi sono normalmente a livello basso e vengono portati a livello alto tramite i pulsanti. Non è presente l'ingresso 0, poiché il circuito è in grado di rilevare solo l'attivazione su 7 linee; ciò crea un problema, poiché non si può distinguere tra la condizione di attivazione dell'ingresso 0 o la non attivazione di alcun ingresso: entrambe in uscita producono lo stesso codice.
Il grande limite di questi codificatori si presenta quando 2 o più pulsanti vengono premuti contemporaneamente fornendo uscite errate. Questo viene risolto assegnando un livello di priorità a ciascun ingresso.
Codificatori a priorità (priority encoder)
Nei codificatori a priorità, in caso due o più pulsanti vengano premuti contemporaneamente, si ha in uscita il codice riferito all'ingresso con priorità maggiore. Se, ad esempio, il livello di priorità è assegnato in modo crescente da I0 a I7 e vengono premuti insieme i pulsanti I2 e I5 il codice in uscita sarà 11 (cioè 5) poiché I5 ha priorità maggiore di I2 .
Questi codificatori sono utili quando ad ogni ingresso è associato un dispositivo ed è necessario gestire in modo corretto richieste o segnalazioni.

In questo caso le "indifferenze" sugli ingressi segnalate con la X indicano che il valore non è significativo per determinare l'uscita se un ingresso a priorità più alta è attivo.