Boit_K__Cifrovaya_yelektronika_BookZZ_or g (773598), страница 34
Текст из файла (страница 34)
(Зюа 7 44, „,И Рие. 8.4. Таблица для перевода двоичных чисел в десятичные числа. Определим значения третьего и четвертого двоичных чисел на рис. 8.4. Для третьего двоичного числа должно получиться значение 1633. Четвертое двоичное число имеет значение 752. 8.2.3. Перевод десятичных чисел в двоичную систему счисления Преобразование десятичных чисел в двоичные может также быть проведено при помощи таблицы, Таблица должна иметь достаточно большое количество столбцов. При преобразовании определяют прежде всего единицу с наибольшим значением, затем единицы с меньшими значениями.
Общее значение десятичного числа разделяется на столбцы. Рассмотрим пример. Переведем десятичное число 900 в двоичное число. 1 со значением 1024 не подходит, так как десятичное число имеет значение только 900. Наибольшая единица для этого примера 2'.
Она имеет значение 512. Итак, мы г1 1Е -1Е 4 — 4 Π— 4 О -1 О ЯОΠ— 612 гаа - гае 132 — 1ге 4 1Е77 -1024 ЮЭ вЂ” 512 241 -гее ая Рие. 8.5. Таблица для перевода десятичных чисел в двоичные. 82.д 2мБР 8.2.4. Вещественные двоичные числа (правильные дроби) Двоичные числа бывают, как и десятичные, с цифрами после запятой. Пер- вому разряду справа от запятой ставится в соответствие 2-'. Второму разря- ду справа от запятой — 2-'. На рис. 8.6 показано распределение степеней числа 2 по разрядам справа от запятой. Рие.
8.6. Разложение вепгественного двоичного числа по разрядам. Двоичные числа с запятой (дробные) пересчитывиотся в десятичные числа таким же способом, как и двоичные числа без запятой. Соответственно можно и дробные десятичные числа перевести в двоичную систему. Пример 2' 0.5 2' 0.25 2м 2-4 0,125 0,0625 21 8 2' 2 2о 1 2' 4 2а 16 2' 52 Десятичное число 22,6875 0,6875 0,5 22,6875 — 16 Может так случиться, что десятичное число с запятой не может быть преобразовано в двоичное число без остатка. Тогда нужно решить, на сколько разрядов после запятой следует производить преобразование и по достижении этой разрядности закончить пересчет.
Для облегчения пересчета можно использовать таблицу на рис. 8.7. 0,1875 0,125 6,6875 — 4 0,0625 0,0625 2,6875 2 0,0 0,6875 задействовали 512 из 900. Остается еще 388. Следующая 1 в столбце 2' имеет значение 256. Теперь остаток составляет только 388 — 256 = 132. 1 в столбце 2' имеет значение 128, так что остается 4.
Остаток 4 дает 1 в столбце 2'. В другие столбцы записывается О. В итоге десятичное число 900 преобразовано в двоичное число 1110000100. Теперь попробуем преобразовать двоичное число в десятичное. Преобразуйте десятичные числа 1300 и 1877 в двоичные. Получают следукяцие результаты: 1300 = 10100010100; 1877 = 11101010101.
(204 Г 44 д 1 2 4 8 16 32 64 21 126 24 - ИВ 2в 612 гвв - 1924 2" гвВ - 4696 2'в 6192 24 Ив 32166 гвв 88838 га 1316тг гвв гег144 2!В 624288 2ВВ 164Юте гв - ИВ92162 гвв 4!94304 гвв агаюоа гвв - ватттгве Рнс. 8.7. Таблица степеней числа 2. 8.2.5. Сложение двоичных чисел Двоичные числа складываются так же, как и десятичные числа.
При сложении действуют следующие правила: О + О = О О + 1 = 1 1 + О = 1 1 + 1 = 10 1+1+1=11 За одно действие складываются всегда только два числа. Если нужно сложить сумму нескольких чисел, то сначала складывают первое и второе число. Затем к результату прибавляется третье число.
Далее к найденному результату прибавляется четвертое число и так далее, пока не будут сложены все числа. Сложение в столбик сразу несколысих чисел, как для десятичных чисел, в двоичном счислении не принято. Принципиально зто возможно, однако в процессе вычисления возникают сложности с переносом старших разрядов. Оба складываемых числа пишутся поразрядно друг над другом. Затем складываются две цифры столбца с наименьшим разрядом. В случае переноса единица записывается в следующий столбец и учитывается при его сложении. То есть в случае переноса нужно складывать три двоичных числа. По такому алгоритму складываются столбец за столбцом справа налево, пока не будут сложены все цифры.
42. 4 24 11 Пример 1 1 о Если преобразовать двоичные числа в десятичные, можно легко проверить правильность проведенного сложения. Маленькое 2 в скобках внизу обозначает двоичное число. Число с 10 в скобках внизу является десятичным числом. Эта идентификация применяется только в случае возможных недоразумений. Двоичное число может, как и в десятичной системе, вычитаться из другого двоичного числа.
Такое вычитание называется нормальным. Для него действуют следующие правила. Правила: Вычитание 0 — 1 приводит к отрицательному результату. Здесь возникает несколько трудностей. При непосредственном вычитании вычитаемое число пишется прямо под числом, от которого оно отнимается (уменьшаемым). Пример 1 1 0 1 ~~ Уменьшаемое — 1 0 0 0 ~~ Вычитаемое 1 0 1 0 Разность Вычитание начинают со столбца с наименьшей степенью, с самого правого. Цифра вычитаемого вычитается из цифры уменьшаемого (1 — 1 = 0 в 24 24 2 2~ 2о !6 8 4 2 1 о О О 1~1 1 0 1 1,=11, 1 0 0 1 1ге--~19ео) о, зо„ 8.2.6. Вычитание двоичных чисел 8.2.8.1.
Нелосредственное вычитание 0 †0 1 †0 1 †1 Перенос 1. Число 2. Число (20В Г В. Д примере). Затем происходит вычитание во втором столбце справа (1 — 0 = 1), затем в 3 столбце справа и т. д. Этот пример не представляет никакой трудности, так как не возникает ситуации 0 — 1. В следующем примере иначе. Пример 10 1 О1ГО'1 1 1 ~Я1 1 27 — 7 20 1 0 1 0 0 Чтобы провести вычитание в третьем столбце справа, еодолжим» 1 из 4-го столбца. Получается: 10 — 1 = 1. Единица в сером круге, таким образом, становится О. В.2.Б.2.
Вычитание в дополнительном коде В десятичной системе дополнение и вычитаемое число дополняют друг друга при л-разрядном представлении до 10". Найденное дополнение называется В-дополнением. В двоичной системе вычитание в дополнительном коде производится аналогичным образом. во ооо -ввооо 1О ООО + 1 5000 к ее»ее Рие. 8.3. Вычитание в долалиительном коде. В компьютерной технике вычитание производится преимущественно добавлением дополнения к вычитаемому числу. Вычитание с дополнением также возможно в десятичной системе. Предположим, что пятиразрядный спидометр машины показывает 95 000 (рис.
8.8). Если машина проедет еще 15 000 км, то спидометр покажет 10 000. Такое же число получится, если от 95 000 отнять 85 000. Число 15 000 называется дополнением к числу 85 000. Конечно, этот способ функционирует только при выполнении условия„что при прибавлении дополнения результат не отображается в шестом разряде. То есть спидометр на рис.
8.8 не может быть шестиразрядным. В компьютерной технике можно просто осуществлять запрет переносов. При пятиразрядном представлении в десятичной системе дополнение и вычитаемое в сумме дают число 100000, т. е. 10'. При шестиразрядном представлении в десятичной системе дополнение и вычитаемое в сумме дают 10». Общий принцип гласит: 82. Д 20~9) Пример 1 1 ! ! Перенос 1 1 1 1 15 1 1 1 1 1 1 1 1 — — ° ~3:] + ! 0 0 ! 1 0 0 0 8 1 0 0 0 1 0 0 0 В приведенном примере нужно вычесть из числа 15 число 7. Результат будет 8.
Какое число должно быть прибавлено к 15„„= 1111вя чтобы в результате получилось 8„„= 1000„, при условии, что перенос в 5 разряде запрещен? Методом подбора находим число 1001ьз = 9пог Это число является дополнением к 111св = 7„„. При четырехзначном представлении дополняют вычитаемое число до 16 = 2'. При пятизначном представлении — до 2' = 32. В следующем примере показано, как дополнение (25) и вычитаемое (7) дополняют друг друга до 32. Пример 1 1 1 1 1 0 1 1 1 = 23 1 0 1 1 1 1 1 1 = 7 + ! ! 0 0 1 = 25 1 0 0 0 0 = 16 1 0 0 0 0 Итак, можно сформулировать следующее правило. Б двоичной системе дополнение и вычитаемое число дополняют друг друга при л-разрядном представлении до 2'.
Если требуется найти дополнение вычитаемого числа, то прежде всего нужно знать, с каким количеством разрядов предстоит работать. В компьютерной технике разрядность известна заранее. Для наших примеров мы принимаем разрядность 6. Если вычитаемое число имеет меньше значащих цифр, чем 6, то оно расширяется ведущими нулями до достижения заданного 6-разрядного формата.
Пример 000111 Расширение При 6 разрядах сумма дополнения и вычитаемого должна быть равна 2' = 64. Если вычитаемое число 7, то дополнение должно быть 57. Если теперь проинвертировать расширенное число, т. е. вместо всех 0 записать 1 и вместо всех 1 записать О, то получится число, которое только на 1 меньше искомого дополнения. Получается число 56.
~210 Г Р.Д М Пример Это не случайность, а закономерность, которую можно проверить на следующих примерах. После инвертирования вычитаемого числа, расширенного до полного формата, получается число на 1 меньше дополнения к вычитаемому. Если к полученному коду добавить 1, то получается искомое дополнение. Справедливость этого метода доказана на следующих примерах. Пример (6-разрядное представление) 1 0 1 1 1 1 = 47 1 1 0 1 1 = 27 9 1 0 0 1 0 Перенос Х 1 1 1 ! 1 0 1 1 1 1 1 0 0 1 0 1 Дополнение Результат: 0 1 0 1 0 0 20 Пример (8-разрядное представление) 1 0 1 1 1 1 = 47 1 1 0 1 1 = 27 ? 0 1 1 0 1 1 0 0 1 0 32 16 8 4 2 1 0 0 0 1 1 1 = 7 4 1 1 1 0 0 0 = 5б 1 Уменьшаемое число 1 О Инвертированное уменьшаемое число 1 1 Дополнение Ю.2 Д 21~Д) Уменьшаемое число Инвертированное уменьшаемое число 10010! Дополнение Перенос 4' ! ! ! 1 ! 1 О 0101111 1110010! Дополнение Результат: 20 00010100 8.2.7.
Отрицательные двоичные числа Что делать, если вычитаемое число больше, чем уменьшаемое? В результате получается отрицательное число. Пример 27 !1О!! — 47 -101111 — 20 ! о 0 1 0 О 0 0 + ! Образование дополнения: 6 разрядов О 1 0 0 0 1 Дополнение к 47 1 11 011011 +0!000! А!01! ОО 1 нет переноса в 7-й разряд Результат является отрицательным числом.
Это следует из отсутствия переноса в 7-й разряд. Если при добавлении дополнения в и-разрядном представлении отсутствует перенос в и + 1 разряд, то результат является отрицательным числом. ООО!1О! 100100 + 1 Число, из которого вычитается Дополнение Результат ~2!2 Г Е.Д М Чтобы узнать величину отрицательного числа, нужно получить его дополнение в двоичном коде: Пример 1 0 1 1 0 0 Результат 0 1 0 0 1 1 + ! 0 1 0 1 0 0 Дополнение результата Дополнение результата равно 20.
Можно отнять определенное число от числа О. В результате получается отрицательное вычитаемое число. Пример 0 0 0 0 0 0 — 9 -0 1 0 0 1 — 9 9 Образование дополнения: 0 ! 0 0 1 1 0 1 1 0 + ! 1 0 1 1 1 Дополнение к 9 (5-разрядный формат) Число 10111 равно — 9. Если образовывать дополнение от этого числа, то получается число 9: 1 О 1 1 1 0 1 0 0 0 + 1 0 1 0 0 1 =9 Дополнение двоичного числа равно его отрицательному значению. С помощью образования дополнения можно преобразовывать положительные двоичные числа в отрицательные.