Главная  Радио и связь 

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

Ту же самую идею, т. е. идею изменения веса цифры в зависимости от ее позиции в числе, мы используем и при записи; двоичных чисел. Однако здесь каждую позицию может занимать только одна из двух цифр. О или 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

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

Двоичное число

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

Двоичное число

000000

010001

000001

010010

000010

010011

000011

010100

000100

010101

000101

010110

000110

010111

000111

011000

001000

011001

. 9

001001

011010

001010

011011

001011

011100

001100

011101

001101

011110

001110

011111

001111

100000

010000

100001

(Незначащие нули писать необязательно, здесь они оставлены для сохранения единства написания.)



Двоичная арифметика

Правила двоичной арифметики очень просты и записываются в следующем виде для сложения:

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