Не правда ли, набор более чем скудный. Но даже такие сложнейшие цифровые устройства, как персональные компьютеры, как-то умудряются обходиться такими скромными средствами и при этом выполнять сложнейшие математические расчеты. Как работать с этими нехитрыми «инструментами»? Пора договориться о некоторых правилах и в дальнейшем придерживаться их неукоснительно. Вначале разберемся с высоким и низким уровнями сигнала, называемыми статическими состояниями цифрового сигнала.
Еще в первом классе школы, а может и раньше, вы научились складывать, вычитать, делить, умножать числа, представленные в десятичной системе счисления, в которой возможно пользоваться числами от 0 до 10. Естественно, с тех пор вы не представляете иной возможности для математических расчетов. Но, оказывается, существуют и другие системы счисления. Цифровая техника обходится двоичной системой, в которой нет иных знаков, кроме 0 и 1. «Нолик» представляется низким уровнем сигнала, а «единичка» — высоким. Числа, представленные в двоичной системе, то есть набором нулей и единиц, тоже можно по определенным правилам складывать, вычитать, делить, умножать, извлекать из них корни, менять знак и использовать многое другое из арсенала математики. В обыденной жизни мы привыкли к десятичным числам, но цифровая техника ими пользоваться не может, поэтому необходимо вначале перевести число из десятичной системы в двоичную, потом цифровой прибор автоматически совершит необходимые операции и затем выполнит обратное преобразование результата — из двоичной формы в десятичную, удобную для восприятия человеком.
Чтобы понять принцип работы цифровых устройств, вначале нужно научиться переводить числа из одной системы счисления в другую. Чем мы сейчас и займемся.
Помните, как устроено любое десятичное число? К примеру, 10248? Вот так:
10248 = 1·10000 + 0·1000 + 2·100 + 4·10 + 8·1.
Это число имеет пять разрядов, значение каждого из которых умножается на вес разряда, а в сумме число имеет знакомую всем форму. Вес разряда — это числа 10000, 1000, 100 и так далее. «Вес» характеризует вклад того или иного разряда числа в его суммарное значение.
Существует строгая математическая формула, которая переводит число из любой системы счисления в десятичную:
Z
= Ai-1·Ni-1 + Ai-2·Ni-2 + ... + A1·N1 + A0·N0,где
Основание системы счисления, возводимое в степень согласно приведенной формуле, и дает
Представим число 10248 в двоичной системе. Мы получим следующую запись:
1024810
=101000000010002.Нижний индекс — «10» и «2», как вы уже наверняка догадались, обозначает основание системы счисления. Проверим, что мы не ошиблись:
10248 = 1·8192 + 0·4096 + 1·2048 + 0·1024 + 0·512 + 0·256 + 0·128 + 0·64 + 0·32 + 0·16 + 1·8 + 0·4 + 0·2 + 0·1.
Убедились? Сделаем очень важный для нас вывод: представленное число в десятичной системе записывается с помощью пяти разрядов, а в двоичной системе оно имеет уже 14 разрядов. Увеличение разрядности, или, как говорят специалисты,
Zmax
= Ni - 1Например, максимальное число (
Преобразовав десятичное число в набор нулей и единиц, его можно передать по линии связи, сохранить, подвергнуть математическим операциям. Все это проделает электронная схема, построенная по определенным правилам, о которых мы поговорим позже.
Теперь вы знаете, как преобразовать двоичные числа в десятичные, но мы должны овладеть и обратной процедурой — превращением десятичного числа в двоичное. Если в описанной выше процедуре используются операции умножения и последующего сложения, то здесь все построено на делении и последующем вычитании.
Рассмотрим преобразование нашего числа 10248 в двоичное. Схема, отражающая эту процедуру, показана на рис. 14.3.
Рис. 14.3.
Вначале число делим на 2, получая частное 5124 и остаток от деления 0, который становится значением разряда с весом 1. Последовательно совершая операции деления, записываем остатки во все разряды.