![]() | |
|
Главная Радио и связь Ту же самую идею, т. е. идею изменения веса цифры в зависимости от ее позиции в числе, мы используем и при записи; двоичных чисел. Однако здесь каждую позицию может занимать только одна из двух цифр. О или 1. Общее выражение для позиционной системы счисления имеет вид 2«-}-2«-1+... + 23-f 2+21+2°. (2.4> Обе системы, и с основанием 10, и с основанием 2, можно использовать для представления любого заданного значения. Например, определите, чему равен десятичный эквивалент двоичного числа 1110010. 1 1 10 0 10 (26) + (2) + (2*) + О+О+(21) + О = 64 + 32 + 16+0 + 0+ 2 +0 = = 114, (2.5) (2.6) (2.7) [нижний индекс 10 в выражении (2.7) указывает на то, чта 114 - это число, представленное в десятичной системе счисления]. В табл. 2.1 приведены двоичные представления десятичных чисел от О до 33. Таблица 2. Г ДВОИЧНЫЕ ЭКВИВАЛЕНТЫ ДЕСЯТИЧНЫХ ЧИСЕЛ ОТ О ДО 33
(Незначащие нули писать необязательно, здесь они оставлены для сохранения единства написания.) Двоичная арифметика Правила двоичной арифметики очень просты и записываются в следующем виде для сложения: 0 + 0 = 0 1+0=1 0 + 1 = 1 1 + 1 = 1 плюс единица переноса в следующий слева разряд. (2.8) {Здесь представлены все возможные комбинации.) Пример. Сложить два двоичных числа: 101 и 001. + 001 (2.9) Пример. Сложить два двоичных числа: 010110 и 001011. Переносы о (2.10) 1 0000 1 Для выполнения операции вычитания приходится обманывать цифровые вычислительные машины и логические схемы. Дело в том, что эти схемы и даже самые всемогущие вычислительные машины умеют выполнять только одну арифметическую операцию - сложение. Чтобы выполнить вычитание, нужно обмануть схему так, чтобы она приняла вычитание за сложение. Для этого используют дополнительный двоичный код (имеется в виду дополнение двоичного числа до двух). Дополнением двоичного числа до единицы служит его инверсия, т. е. дополнением нуля до единицы является единица, а дополнением единицы до нуля - нуль. Когда мы определяем обратный код для двоичного числа какой угодно длины, мы просто заменяем все нули на единицы, а все единицы на нули: Цифра Дополнение 1- 1 (2.11) Для получения дополнительного кода двоичного числа нужно определить его обратный код и затем прибавить единицу к младшему значащему разряду (МЗР) (2°). Сформируем, например, дополнительный код для числа 1011: Число -> 10 11 Обратный код->- О 1 i i (2.12> Прибавление 1 к МЗР-*- + 1 Дополнительный код ->- 0 10 1 Пример. Вычесть 0100 из 1011. 1 О 1 1 0 10 0 (2.13) Сначала сформируйте дополнительный код для числа 0100, затем прибавьте полученное значение к 1001. 0 10 0 10 11 +1, Дополнительный код 110 0 (2.14) Прибавьте этот результат к числу 1011: 10 11 единица переноса -j-l 1 0 0 (2.15) 1 -i- 0 111 -ответ Для проверки правильности ответа произведем такое же сложение в десятичной системе счисления. Сначала определим десятичные эквиваленты двоичных чисел 0100 и 1011, а затем выполним обычное сложение: 10 11 11,0 -0100-> 4 (2.16) 1 -<- 0 111 +7,0 Двоичный ответ равен 0111 плюс единица переноса. 011l2=7io, т. е. ответ правильный. Заметим, что появление единицы переноса говорит о том, что результат положительный. А теперь рассмотрим пример, где ответ должен быть отрицательным. Вычтем хотя бы из числа 0100 число 1011: 0 10 0 -10 11 (2.17) Сначала проинвертируем число 1011, затем сложим с 1: 0 1 2 3 4 [ 5 ] 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 0.0069 |