Системы счисления и двоичные коды

Всякое число представляется набором цифр. Способ представления чисел цифрами характеризует систему счисления (код). Наибольшее распространение получили позиционные системы счисления, в которых число, эквивалентное записанной цифре, определяется как значением этой цифры, так и ее положением (позицией) среди других цифр. Основание системы — это число, равное количеству цифр, необходимых для выражения всех чисел в пределах одного разряда. Десятичная (децимальная) система счисления — типичный пример позиционной системы.

Положительное число из i разрядов в позиционной системе с основанием а может быть представлено как

Системы счисления и двоичные коды - student2.ru (1.1)

где х — любая цифра от 0 до а-1; первый член представляет собой старший разряд числа, а последний — младший.

В десятичной системе например, число 573 можно представить как 57310=5×102+7×101+3×100.

В цифровой аппаратуре применяют приборы, которые имеют два рабочих состояния. Здесь наиболее удобными оказались двоичные (бинарные) коды. Существует ряд двоичных кодов, каждый из которых обладает определенными свойствами. В цифровой технике наибольшее применение получил так называемый натуральный двоичный код, в котором i-разрядное число представляется как

Системы счисления и двоичные коды - student2.ru (1.2)

Здесь x может иметь два значения - 0 и 1.

Порядок счета в натуральном двоичном коде совпадает с порядком счета внутри каждого десятичного разряда, что упрощает взаимный перевод чисел десятичного и двоичного кодов. Этот двоичный код называют еще кодом 8421 — по весовым коэффициентам (или короче весам) первых четырех разрядов числа. В дальнейшем при упоминании двоичного кода подразумевается код 8421. В табл. 1.1 приведены десятичные числа от 0 до 15 и их эквиваленты в коде 8421. Из таблицы следует, что для представления десятичных цифр от 0 до 9 (одного десятичного разряда) требуются четыре двоичные цифры, т. е. двоичные числа длиннее эквивалентных десятичных.

Двоичные числа, представленные в таблице, и им подобные характеризуют прямой код. Кроме этого применяются и другие коды, с помощью которых упрощаются арифметические действия. К ним относятся, в частности, обратный и дополнительный коды.

Таблица 1.1

Код Код Код
десятичный десятичный десятичный

Двоичное число в обратном коде отличается от числа в прямом коде тем, что в каждом разряде имеет 0 вместо 1 и наоборот. Дополнительный код числа образуется из обратного кода добавлением 1 к младшему разряду. Так, десятичному числу - 9 в обратном двоичном коде соответствует число 0110, а в дополнительном - 0111.

Широко применяется двоично-десятичный код, в котором цифры каждого разряда десятичного числа представляются четырехразрядным двоичным числом (тетрадой). Так, число N10=573 в двоично-десятичном коде имеет вил N2-10=0101 0111 0011. Основное достоинство двоично-десятичного кода — в простоте взаимного перевода десятичных и двоичных чисел, так как непосредственное схемное преобразование десятичных чисел в двоичные и наоборот связано с большими аппаратурными затратами. Это важный момент с точки зрения взаимодействия человека с машиной, поскольку в большинстве случаев цифровая информация, подлежащая переработке и преобразованию, задается в десятичном коде и в этом же коде должны быть представлены окончательные результаты. Главный недостаток двоично-десятичного кода — громоздкость и избыточность, так как шесть двоичных комбинаций (от 10102=1010 до 11112 =1510) при этом не используются.

Булева алгебра

Математический аппарат, описывающий действия дискретных устройств, базируется на алгебре логики, или, как ее еще называют по имени автора английского математика Джорджа Буля (1815 - 1864 гг.), булевой алгебре. В практических целях первым применил его американский ученый Клод Шеннон в 1938 г. при исследовании электрических цепей с контактными выключателями.

Булева алгебра оперирует двоичными переменными, которые условно обозначаются как 0 и 1 и подчиняются условиям: x=1, если x¹0, и x=0, если x¹1. В ее основе лежит понятие переключательной, или булевой, функции вида f(x1, x2,..., xn) относительно аргументов x1, x2,..., xn, которая, как и ее аргументы, может принимать только два значения — 0 и 1. Как частный случай, двоичные переменные могут постоянно сохранять одно из значений — 0 либо 1. Логическая функция может быть задана словесно, алгебраическим выражением и таблицей, которая называется таблицей истинности.

Действия над двоичными переменными производятся по правилам логических операций. Между обычной, привычной нам алгеброй и алгеброй логики имеются существенные различия в отношении количества и характера операций, а также законов, которым они подчиняются.

Простейших логических операций три: отрицание (инверсия, операция НЕ), логическое умножение (конъюнкция, операция И) и логическое сложение (дизъюнкция, операция ИЛИ). Более сложные логические преобразования можно свести к указанным операциям.

Операция отрицания выполняется над одной переменной и характеризуется следующими свойствами: функция y=1 при аргументе x=0 и y=0, если x=1. Обозначается отрицание чертой над переменной, с которой производится операция: Системы счисления и двоичные коды - student2.ru (игрек равен не икс). Соответственно Системы счисления и двоичные коды - student2.ru .

Операция логического умножения (конъюнкция) для двух переменных характеризуется табл. 1.2 и обозначается следующим образом: 0×0=0; 0×1=0; 1×0=0; 1×1=1, т. е. нулевое значение хотя бы одного из аргументов обеспечивает нулевой результат операции. Операция может быть распространена на большее число переменных.

Таблица 1.2

x1 x2 y

Операцию логического сложения (дизъюнкции) определяет табл. 1.3. Обозначают ее таким способом: Системы счисления и двоичные коды - student2.ru , либо Системы счисления и двоичные коды - student2.ru . Первый способ предпочтителен, так как позволяет отличать логическое сложение от арифметического. Для двух переменных Системы счисления и двоичные коды - student2.ru Системы счисления и двоичные коды - student2.ru Системы счисления и двоичные коды - student2.ru Системы счисления и двоичные коды - student2.ru т. е. равенство хотя бы одного аргумента логической единице определяет единичное значение всей функции.

Таблица 1.3

x1 x2 y

Дизъюнкция, как и конъюнкция, может осуществляться с многими переменными.

Совокупность различных значений переменных называют набором. Булева функция n аргументов может иметь до N=2n наборов. Поскольку функция принимает только два значения, общее число булевых функций n аргументов Системы счисления и двоичные коды - student2.ru . Таким образом, функция одного аргумента может иметь четыре значения: у=x; у= Системы счисления и двоичные коды - student2.ru ; у=1 (константа 1); у=0 (константа 0).

Два аргумента дают 16 значений функции (табл. 1.4).

Таблица 1.4

Аргументы Функция Название функции
x1...0 x2...0
y=0 Константа 0
y=x1x2 Конъюнкция, операция И
Системы счисления и двоичные коды - student2.ru Запрет по x2
y=x1 Тождественность (тавтология) x1
Системы счисления и двоичные коды - student2.ru Запрет по x1
y=x2 Тождественность (тавтология) x2
Системы счисления и двоичные коды - student2.ru Исключающее ИЛИ (сумма по модулю 2)
Системы счисления и двоичные коды - student2.ru Дизъюнкция, операция ИЛИ
Системы счисления и двоичные коды - student2.ru Стрелка Пирса (операция ИЛИ-НЕ)
Системы счисления и двоичные коды - student2.ru Равнозначность, эквивалентность
Системы счисления и двоичные коды - student2.ru Инверсия x2
Системы счисления и двоичные коды - student2.ru Импликация от x2 к x1
y=x1 Инверсия x1
Системы счисления и двоичные коды - student2.ru Импликация от x1 к x2
Системы счисления и двоичные коды - student2.ru Штрих Шеффера (операция И-НЕ)
y=1 Константа 1

Булева алгебра базируется на нескольких аксиомах, из которых выводят основные законы для преобразований с двоичными переменными. Обоснованность выбора этих аксиом подтверждается таблицами истинности для рассмотренных операций. Каждая аксиома представлена в двух видах, что вытекает из принципа дуальности (двойственности) логических операций, согласно которому операции конъюнкции и дизъюнкции допускают взаимную замену, если одновременно поменять логическую 1 на 0, 0 на 1, знак Системы счисления и двоичные коды - student2.ru на × , а × на Системы счисления и двоичные коды - student2.ru .

Аксиомы операции отрицания: Системы счисления и двоичные коды - student2.ru

Аксиомы операций конъюнкции и дизъюнкции:

1. 0 × 1 = 1; (а) Системы счисления и двоичные коды - student2.ru ; (б)

2. 1 × 0 = 0 × 1 = 0; (а) Системы счисления и двоичные коды - student2.ru ; (б)

3. 1 × 1 = 1; (а) Системы счисления и двоичные коды - student2.ru ; (б)

Аксиома 16 не имеет аналога в двоичной арифметике, где 1+1=10 (здесь цифры и знаки имеют обычный арифметический смысл).

Законы булевой алгебры вытекают из аксиом и также имеют две формы выражения: для конъюнкции и дизъюнкции. Здесь они приводятся без доказательств. Их правильность легко проверить по таблицам истинности либо путем подстановки 0 и 1 вместо соответствующих значений переменных.

1. Переместительный закон

x1 × x2=x2 × x1; (а) Системы счисления и двоичные коды - student2.ru ; (б)

2. Сочетательный закон

x1(x2x3) = (x1x2)x3 = x1x2x3; (а)

Системы счисления и двоичные коды - student2.ru . (б)

3. Закон повторения (тавтологии)

x × x = x; (а) Системы счисления и двоичные коды - student2.ru . (б)

4. Закон обращения: если x1 = x2, то Системы счисления и двоичные коды - student2.ru .

5. Закон двойной инверсии Системы счисления и двоичные коды - student2.ru .

6. Закон нулевого множества

x × 0 = 0; (а) Системы счисления и двоичные коды - student2.ru . (б)

7. Закон универсального множества

x × 1 = x; (а) Системы счисления и двоичные коды - student2.ru (б)

8. Закон дополнительности

Системы счисления и двоичные коды - student2.ru ; (а) Системы счисления и двоичные коды - student2.ru . (б)

9. Распределительный закон

Системы счисления и двоичные коды - student2.ru (а)

Системы счисления и двоичные коды - student2.ru (б)

10. Закон поглощения

Системы счисления и двоичные коды - student2.ru (а) Системы счисления и двоичные коды - student2.ru (б)

11. Закон склеивания

Системы счисления и двоичные коды - student2.ru (а) Системы счисления и двоичные коды - student2.ru (б)

12. Закон инверсии (закон Де Моргана)

Системы счисления и двоичные коды - student2.ru (а) Системы счисления и двоичные коды - student2.ru (б)

или после инвертирования левых и правых частей

Системы счисления и двоичные коды - student2.ru (в) Системы счисления и двоичные коды - student2.ru (г)

Наши рекомендации