Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
часть1.docx
Скачиваний:
16
Добавлен:
26.11.2019
Размер:
11.17 Mб
Скачать

ДВОИЧНЫЕ КОДЫ И

СИСТЕМЫ СЧИСЛЕНИЯ

Введение

С помощью цифровых схем производятся различные вычисления. Поэтому необходимо представлять все десятичные цифры и все необходимые числа в виде комбинации 0 и 1. Представление числа только двумя знаками назы­вается бинарным представлением.

Коды, которые используют только два знака, называют бинарными (двоич­ными) кодами.

Существует множество бинарных кодов. Но на практике применяются только некоторые из них. Бинарные коды имеют регламентированную раз­рядность. Каждая десятичная цифра в определенном коде представляется определенным количеством так называемых бинарных разрядов. Бинарный разряд может принимать значение 0 или 1. Бинарный разряд, или базовая единица данных называется бит (от англ.: binary digit — двоичная цифра).

Бит означает один бинарный разряд. Он может быть равен 0 или 1.

В двоичном коде представляются прежде всего десятичные числа. Од­нако оказалось целесообразным использовать также другие системы счис­ления. Особенное значение имеет шестнадцатеричная система счисления. Наряду с этим часто используется восьмеричная система счисления. Осо­бенное значение имеет двоичная система счисления. Двоичная система счис­ления одновременно является бинарным кодом, так как состоит только из цифр 0 и 1.

Двоичная система счисления

Структура двоичной системы счисления

Все используемые системы счисления являются так называемыми позици­онными системами счисления. В позиционной системе счисления позиция цифры однозначно связана со значением числа посредством особого фак­тора увеличения в виде степенного числа.

В десятичной системе счисления каждый разряд числа умножается на 10 в соответствующей степени (рис. 8.1). Чтобы посчитать от нуля до 9, нужен ноль и девять цифр в колонке единиц. Число десять запишется как 1 в колонке десятков и 0 в колонке единиц.

Если в распоряжении имеются только цифры 0 и 1, то каждый разряд числа умножается на степень числа два (рис. 8.2). В первом столбце справа могут быть записаны только числа от 0 до 1. Для за­писи числа необходимо использовать 2 столбца спра­ва. Число 2 получается путем записи 0 в первом стол­бце справа и 1 во втором столбце справа (рис. 8.3). Для представления числа 7 требуется записать 111. Первая 1 справа представляет значение 1, вторая 1 — значение 2, и третья 1 — значение 4. В итоге получа­ется 4 + 2 + 1 = 7.

Перевод двоичных чисел в

десятичную систему счисления

Перевести двоичное число в десятичное очень просто. Для этого использу­ют таблицу согласно рис. 8.4. Эта таблица может быть по желанию продол­жена влево.

Двоичное число заносится в таблицу (рис. 8.4). Столбцы, в которых должны быть 0, не представляют интереса. Важными являются столбцы, в которых стоит 1. Первое двоичное число на рис. 8.4 имеет 1 в столбце 25. Эта 1 представляет значение 32. Следующая 1 стоит в столбце 22. Эта 1 представляет значение 4. Общее значение двоичного числа составляет 32 + 4 = 36.

Второе двоичное число имеет 1 в столбце 27. Эта 1 представляет значе­ние 128. Следующая 1 стоит в столбце 25. Эта 1 представляет значение 32. Обе следующие единицы представляют значения 4 и 2. Общее значение двоичного числа в итоге 128 + 32 + 4 + 2 = 166.

Определим значения третьего и четвертого двоичных чисел на рис. 8.4. Для третьего двоичного числа должно получиться значение 1633. Четвертое двоичное число имеет значение 752.

Перевод десятичных чисел

в двоичную систему счисления

Преобразование десятичных чисел в двоичные может также быть проведе­но при помощи таблицы. Таблица должна иметь достаточно большое коли­чество столбцов. При преобразовании определяют прежде всего единицу с наибольшим значением, затем единицы с меньшими значениями. Общее значение десятичного числа разделяется на столбцы. Рассмотрим пример.

Переведем десятичное число 900 в двоичное число. 1 со значением 1024 не подходит, так как десятичное число имеет значение только 900. Наи­большая единица для этого примера 29. Она имеет значение 512. Итак, мы задействовали 512 из 900. Остается еще 388. Следующая 1 в столбце 2* име­ет значение 256. Теперь остаток составляет только 388 — 256 ** 132. 1 в столбце 27 имеет значение 128, так что остается 4. Остаток 4 дает I в стол­бце 22. В другие столбцы записывается 0. В итоге десятичное число 900 преобразовано в двоичное число 1110000100. Теперь попробуем преобразо­вать двоичное число в десятичное.

Преобразуйте десятичные числа 1300 и 1877 в двоичные. Получают сле­дующие результаты:

1300 * 10100010100;

1877 - 11101010101.

Вещественные двоичные числа

(правильные дроби)

Двоичные числа бывают, как и десятичные, с цифрами после запятой. Пер­вому разряду справа от запятой ставится в соответствие 2-1 .Второму разря­ду справа от запятой — 2-2. На рис. 8.6 показано распределение степеней числа 2 по разрядам справа от запятой.

Двоичные числа с запятой (дробные) пересчитываются в десятичные числа таким же способом, как и двоичные числа без запятой. Соответственно мож­но и дробные десятичные числа перевести в двоичную систему.

Пример———————————————————————————————————

Десятичное число

25

32

24

16

23

8

22

4

21

2

20

1

2-1

0,5

2-2

0,25

2-3

0,125

2-4

0,0625

22,6875

1

0

1

1

0

1

0

1

1

Может так случиться, что десятичное чис­ло с запятой не может быть преобразовано в двоичное число без остатка. Тогда нужно ре­шить, на сколько разрядов после запятой сле­дует производить преобразование и по дости­жении этой разрядности закончить пересчет. Для облегчения пересчета можно использовать таблицу на рис. 8.7.

24 23 22 21 20

16 8 4 2 1

1 1 Перенос

1 0 1 1 1. Число

1 0 0 1 1 2. Число

Если преобразовать двоичные числа в десятичные, можно легко прове­рить правильность проведенного сложения.

Маленькое 2 в скобках внизу обозначает двоичное число. Число с 10 в скобках внизу является десятичным числом. Эта идентификация применя­ется только в случае возможных недоразумений.

Вычитание двоичных чисел

Непосредственное вычитание

Двоичное число может, как и в десятичной системе, вычитаться из другого двоичного числа. Такое вычитание называется нормальным. Для него дей­ствуют следующие правила.

Правила:

0 – 0 = 0

1 – 0 = 1

1 – 1 = 0

Вычитание 0—1 приводит к отрицательному результату. Здесь возника­ет несколько трудностей.

При непосредственном вычитании вычитаемое число пишется прямо под числом, от которого оно отнимается (уменьшаемым).

Пример —————————————————————————————

1 1 0 1 1 Уменьшаемое

-1 0 0 0 1 Вычитаемое

1 0 0 1 1 Разность

Вычитание начинают со столбца с наименьшей степенью, с самого пра­вого. Цифра вычитаемого вычитается из цифры уменьшаемого ( 1 – 1 = 0 в примере). Затем происходит вычитание во втором столбце справа (1-0=1), затем в 3 столбце справа и т. д. Этот пример не представляет никакой трудности, так как не возникает ситуации 0 — 1. В следующем примере иначе.

Пример —————————————————————————————

Чтобы провести вычитание в третьем столбце справа, «одолжим» 1 из 4-го столбца. Получается: 10 - 1 = 1. Единица в сером круге, таким обра­зом,. становится 0.

Вычитание в дополнительном коде

В компьютерной технике вычитание производится преимущественно до­бавлением дополнения к вычитаемому числу.

Вычитание с дополнением также возможно в десятичной системе. Пред­положим, что пятиразрядный спидометр машины показывает 95000 (рис. 8.8). Если машина проедет еще 15 000 км, то спидометр покажет 10 000. Такое же число получится, если от 95 000 отнять 85 000. Число 15 000 называется дополнением к числу 85 000. Конечно, этот способ функционирует только при выполнении условия, что при прибавлении дополнения результат не отображается в шестом разряде. То есть спидометр на рис. 8.8 не может быть шестиразрядным. В компьютерной технике можно просто осущест­влять запрет переносов.

При пятиразрядном представлении в десятичной системе дополнение и вычитаемое в сумме дают число 100000, т. е. 105. При шестиразрядном пред­ставлении в десятичной системе дополнение и вычитаемое в сумме дают 106. Общий принцип гласит:

В десятичной системе дополнение и вычитаемое число дополняют друг друга при п-разрядном представлении до 10n.

Найденное дополнение называется B-дополнением.

В двоичной системе вычитание в дополнительном коде производится аналогичным образом.

В приведенном примере нужно вычесть из числа 15 число 7. Результат бу­дет 8. Какое число должно быть прибавлено к 15(10) = 1111(2), чтобы в ре­зультате получилось 8(10) = 1000(2) при условии, что перенос в 5 разряде запрещен? Методом подбора находим число 1001(2)= 9(10). Это число явля­ется дополнением к 111(2) = 7(10).

При четырехзначном представлении дополняют вычитаемое число до 16 =24. При пятизначном представлении— до 25 = 32. В следующем примере показано, как дополнение (25) и вычитаемое (7) дополняют друг друга до 32.

Пример —————————————————————————————

Итак, можно сформулировать следующее правило.

В двоичной системе дополнение и вычитаемое число дополняют друг дру­га при n-разрядном представлении до 2n.

Если требуется найти дополнение вычитаемого числа, то прежде всего нужно знать, с каким количеством разрядов предстоит работать. В компью­терной технике разрядность известна заранее. Для наших примеров мы принимаем разрядность 6. Если вычитаемое число имеет меньше значащих цифр, чем 6, то оно расширяется ведущими нулями до достижения задан­ного 6-разрядного формата.

Пример —————————————————————————————

При 6 разрядах сумма дополнения и вычитаемого должна быть равна 26 - 64. Если вычитаемое число 7, то дополнение должно быть 57.

Если теперь проинвертировать расширенное число, т. е. вместо всех 0 записать 1 и вместо всех 1 записать 0, то получится число, которое только на 1 меньше искомого дополнения. Получается число 56.

Пример —————————————————————————————

32 16 8 4 2 1

0 0 0 1 1 1 = 7

↓ ↓ ↓ ↓ ↓ ↓

1 1 1 0 0 0 = 56

Это не случайность, а закономерность, которую можно проверить на следующих примерах.

После инвертирования вычитаемого числа, расширенного до полного фор­мата, получается число на 1 меньше дополнения к вычитаемому.

Если к полученному коду добавить 1, то получается искомое дополнение.

Для получения дополнения в двоичной системе следует воспользоваться следующим алгоритмом:

  1. Расширить вычитаемое число до полноразрядного формата добавлени­ем ведущих нулей

  2. Инвертировать вычитаемое.

  3. К инверсии добавить число 1.

Справедливость этого метода доказана на следующих примерах.

Пример (6-разрядное представление)___________________________________

1 0 1 1 1 1 = 47

- 1 1 0 1 1 = 27

?

0 1 1 0 1 1 Уменьшаемое число

↓ ↓ ↓ ↓ ↓ ↓

1 0 0 1 0 0 Инвертированное уменьшаемое число

+ 1

1 0 0 1 0 1 Дополнение

Перенос

Дополнение

Результат

Пример (8-разрядное представление) —————————————————

1 0 1 1 1 1 = 47

— 1 1 0 1 1 = 27

?

0

0

0

1

1

0

1

1

Уменьшаемое число

1

1

1

0

0

1

0

0

Инвертированное уменьшаемое число

+

1

1

1

1

0

0

1

0

1

Дополнение

Перенос

1

1

1

І

1

1

1

0

0

1

0

1

1

1

1

Дополнение

+

1

1

1

0.

0

1

0

1

Результат:

0

0

0

1

0

1

0

0



=20

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]