Цифровой компаратор или компаратор величин — это аппаратное электронное устройство, которое принимает два числа в качестве входных данных в двоичной форме и определяет, является ли одно число большим, меньшим или равным другому числу. Компараторы используются в центральных процессорах (ЦП) и микроконтроллерах (МК). Примерами цифровых компараторов являются КМОП 4063 и 4585, а также ТТЛ 7485 и 74682.
Вентиль XNOR является базовым компаратором, поскольку его выход равен «1» только в том случае, если два его входных бита равны.
Аналоговым эквивалентом цифрового компаратора является компаратор напряжения . Многие микроконтроллеры имеют аналоговые компараторы на некоторых входах, которые могут считываться или вызывать прерывание .
Рассмотрим два 4-битных двоичных числа A и B, так что
Здесь каждый нижний индекс представляет одну из цифр в числе.
Двоичные числа A и B будут равны, если все пары значащих цифр обоих чисел равны, т. е.
, , и
Поскольку числа являются двоичными, то цифры — это либо 0, либо 1, а булевская функция для равенства любых двух цифр может быть выражена как
мы также можем заменить его вентилем XNOR в цифровой электронике .
равно 1 только тогда, когда и равны.
Для равенства A и B все переменные (для i=0,1,2,3) должны быть равны 1.
Таким образом, условие равенства A и B можно реализовать с помощью операции И следующим образом:
Двоичная переменная (A=B) равна 1 только в том случае, если все пары цифр двух чисел равны.
Чтобы вручную определить большее из двух двоичных чисел, мы проверяем относительные величины пар значимых цифр, начиная с самого старшего бита , постепенно переходя к младшим значимым битам, пока не будет найдено неравенство. Когда неравенство найдено, если соответствующий бит A равен 1, а бит B равен 0, то мы заключаем, что A>B.
Это последовательное сравнение можно логически выразить следующим образом:
(A>B) и (A < B) — выходные двоичные переменные , которые равны 1, когда A>B или A<B соответственно.