Итак, немного отвлекаясь от аналоговой электроники (резисторы, диоды, транзисторы), продолжим изучать двоичный код и логические преобразования. Предлагаю начать с простых вещей.
Задача: нарисовать схему двух-разрядного компаратора(сравниватель чисел - по простому) . То есть нарисовать схему (самостоятельно), а не взять из интернета. С чего же начать.
Предлагаю по порядку, как мы сравниваем числа, какое число больше 215 или 308, тут все логично, чей старший разряд больше, то число и больше. Сравним 95 или 93, то же очевидно - если старшие разряды равны, то сравниваем следующие и принимаем решение. Отсюда вывод: прежде чем научиться сравнивать числа, необходимо научиться сравнивать разряды. А дальше уже расширять задачу поэтапно. Итак начнём с малого, необходимо сравнить два разряда. Сколько всего возможных входных состояний? Для числа А - 2 состояния, для числа В, тоже два состояния, значит число их всевозможных сочетаний 2*2 = 4, перечислим их: 0 и 0, 0 и 1, 1 и 0,1 и 1. Теперь рассмотрим количество разных результатов сравнения, соответственно А > B или просто " > ", А < B или просто "<", А = В или просто "=". Чтобы лучше проникнуться задачей оформим её в виде таблицы:
Первое решение: мы можем сделать один выход с тремя состояниями, в двоичном коде, правда это затруднительно. Второй вариант, сделать три выхода но каждый с двумя состояниями, при этом никакие два не могут быть активными одновременно. Теперь примем активность за 1, а не активность за 0 (как логично звучит), тогда таблица примет вид:
Если не понятно, как сформирована правая часть, прочитайте еще раз до этого момента.
Что же мы видим из этой таблицы:
1 Больше ">" у нас будет тогда, когда А=1 и одновременно, В=0. То есть А умножить логически на НЕ В
2 Меньше "<" у нас будет тогда, когда А=0 и одновременно, В=1. То есть НЕ А логически умножить на В
3 Равно может быть в двух случаях: когда НЕ А и НЕ В одновременно,или когда А И В также одновременно. Схема этого решения будет выглядеть так:
Если промоделировать работу, то таблица полностью будет соответствовать картинке. Вообще мы в этой статье затронули несколько сложных вопросов, которые в дальнейшем снова могут возникнуть. Задание для самостоятельной работы: попробуйте самостоятельно нарисовать двухразрядный компаратор. Дерзайте.