Un encoder (encoder) ( în engleză encoder ) este un dispozitiv logic care îndeplinește o funcție logică (operație) - conversia unui cod pozițional de n biți într-un cod binar, ternar sau k-ary de m biți .
Codificatorul binar îndeplinește funcția logică de a converti un cod unitar n-ary fără ambiguitate în binar. Când se aplică un semnal la una dintre cele n intrări (neapărat una, nu mai mult), la ieșire apare codul binar al numărului intrării active.
unde este numărul de intrări, este numărul de biți de ieșire.
Codificatorul ternar îndeplinește funcția logică de a converti un cod unar n-ari fără ambiguitate (unu-unu sau unu-zero) într-un cod ternar. Când un semnal ("1" într-un cod de o unitate sau "0" într-un cod de unu zero) este aplicat la una dintre cele n intrări, codul ternar al numărului de intrare activ apare la ieșire.
Numărul de intrări și ieșiri dintr-un encoder ternar complet este legat de relația:
, unde este numărul de intrări, este numărul de cifre ternare de ieșire.
Dacă numărul de intrări este atât de mare încât toate combinațiile posibile de semnale de ieșire sunt utilizate în encoder, atunci un astfel de encoder se numește complet, dacă nu toate, atunci incomplet.
Numărul de intrări și ieșiri dintr-un encoder k-ary complet este legat de relația:
, unde este numărul de intrări, este numărul de biți k-ari de ieșire, este baza sistemului de numere .
Codificatorul prioritar diferă de encoder în prezența unui circuit logic suplimentar pentru selectarea nivelului activ al intrării senior pentru a asigura condiția ca encoderul să funcționeze (doar un nivel activ la intrare). Nivelurile semnalului la alte intrări sunt ignorate de circuit.