Un comparador digital o comparador de código es un dispositivo lógico con dos entradas de diccionario, al que se suministran dos palabras binarias diferentes de igual longitud en bits y generalmente con tres salidas binarias, al que se emite una señal de comparación de las palabras de entrada: la primera palabra es mayor que el segundo, menor o las palabras son iguales. Al mismo tiempo, las salidas "mayor que", "menor que" tienen sentido si las palabras de entrada codifican números en una u otra representación de máquina.
A menudo, los comparadores digitales no tienen salidas "mayor que", "menor que", sino solo una salida "igual".
Puede construirse sobre elementos lógicos, cuyo funcionamiento se basa en una variedad de principios físicos, pero los comparadores modernos suelen ser dispositivos electrónicos semiconductores que funcionan en lógica binaria.
Los comparadores de la industria se producen en forma de componentes terminados: microcircuitos con diferentes longitudes de palabras comparadas y otros parámetros. Ejemplos de chips de comparación digital: lógica CMOS - 4063 y 4585, TTL - 7485 y 74682-89 y muchos otros.
Los comparadores se utilizan ampliamente en tecnología informática, tecnología de medición, comunicaciones por radio y cable, y electrodomésticos. Por ejemplo, un reloj digital con despertador contiene un comparador digital, si la hora actual coincide con la configurada, suena una señal acústica.
El equivalente analógico de un comparador digital es un comparador analógico de voltaje o corriente . Algunos microcontroladores tienen comparadores de entrada analógica incorporados, cuyo estado de salida puede ser leído por el programa del controlador o puede ser interrumpido por una subrutina.
Por ejemplo, considere dos palabras de 4 bits y , deje que estas palabras sean algunos números naturales representados en binario, siendo el tercer bit el más significativo:
,Aquí, cada letra del subíndice representa uno de los bits de los números.
Igualdad (equivalencia)Los números binarios y serán iguales si todos los pares de bits correspondientes de ambos números son iguales, es decir:
, y . _En notación binaria de números, sus dígitos son 0 o 1. La función booleana para la igualdad de dos dígitos cualquiera y (aquí la operación lógica "O" se denota con el símbolo y "Y" con el símbolo de punto) se puede expresar como:
.Es igual a 1 sólo si y son iguales.
Para la igualdad y , todas las funciones (para i = 0, 1, 2, 3) deben ser iguales a 1.
Por lo tanto, el signo de igualdad y se escribe como función lógica como
.Una función binaria es igual a 1 solo si todos los pares de dígitos de dos números son iguales.
Desigualdad (no equivalencia)Para determinar el mayor de dos números binarios, consideramos la relación de las magnitudes de los pares de dígitos significativos, comenzando desde los bits más significativos hasta los bits menos significativos, hasta encontrar una desigualdad en alguna posición. Cuando se encuentra una desigualdad, si el bit correspondiente es 1 y el mismo bit es 0, entonces asumimos que .
Esta comparación secuencial se puede expresar en expresiones booleanas como:
, .y son variables binarias de salida que son iguales a 1 cuando o respectivamente.
Como ejemplos, se dan las tablas de verdad de los comparadores triviales de uno y dos bits.
La función lógica de un comparador digital de un bit se describe mediante una tabla de verdad:
Entradas | salidas | |||
---|---|---|---|---|
0 | 0 | 0 | una | 0 |
0 | una | una | 0 | 0 |
una | 0 | 0 | 0 | una |
una | una | 0 | una | 0 |
Tabla de verdad de un comparador de dos bits:
Entradas | salidas | |||||
---|---|---|---|---|---|---|
0 | 0 | 0 | 0 | 0 | una | 0 |
0 | 0 | 0 | una | una | 0 | 0 |
0 | 0 | una | 0 | una | 0 | 0 |
0 | 0 | una | una | una | 0 | 0 |
0 | una | 0 | 0 | 0 | 0 | una |
0 | una | 0 | una | 0 | una | 0 |
0 | una | una | 0 | una | 0 | 0 |
0 | una | una | una | una | 0 | 0 |
una | 0 | 0 | 0 | 0 | 0 | una |
una | 0 | 0 | una | 0 | 0 | una |
una | 0 | una | 0 | 0 | una | 0 |
una | 0 | una | una | una | 0 | 0 |
una | una | 0 | 0 | 0 | 0 | una |
una | una | 0 | una | 0 | 0 | una |
una | una | una | 0 | 0 | 0 | una |
una | una | una | una | 0 | una | 0 |