Формальные правила двоичной арифметики
Перед тем, как рассмотреть формальные правила двоичной арифметики подчеркнем общий принцип сложения и вычитания чисел представленных в любой позиционной системы счисления.
В общем случае процедуры сложения и вычитания двух чисел
A B = C в любой позиционной системы счисления начинаются с младших разрядов.
Код суммы каждго i-того разряда сi получается в результате сложения
ai + bi +1, где единица соответствует переносу из младшего (i - 1)-разряда в i-тый, если в младшем разряде код суммы получился больше или равным основанию системы счисления.
Код разности каждого i-того разряда получается в результате вычитания
ai - bi -1, где единица соответствует заему, если он был, в младшие разряды величины, равной основанию системы счисления.
Следовательно, правила и методы сложения и вычитания в любой позиционной системы счисления в принципе остаются такими же, как в десятичной системе.
Теперь рассмотрим правила арифметики с числами, представленными в двоичном коде.
Сложение двух чисел выполняется поразрядно, начиная с младшего разряда. В каждом разряде выполняется сложение двух цифр слагаемых и единицы переноса из соседнего младшего разряда:
0 + 0 = 0
0 + 1 = 1
1 + 0 = 1
1 + 1 = 0 и осуществляется перенос 1 в старший соседний разряд.
Например:
01012 = 510
+00112 = 310
10002 = 810
Вычитание также производится поразрядно, начиная с младшего разряда. При вычитании в данном разряде из нуля единицы необходимо занять единицу из соседнего старшего разряда, которая равна двум единицам данного разряда:
0 - 0 = 0
1 - 0 = 1
1 - 1 = 0
0 - 1 =1 после заема единицы из соседнего старшего разряда.
Например:
01102 = 610
-00112 = 310
00112 = 310
Суммирование двоичных чисел в компьютерах осуществляется при помощи двоичных сумматоров, а вычитание - двоичных вычитателей. Но как будет показано в дальнейшем, вычитание можно организовать также при помощи процедуры сложения, т.е. при помощи двоичных сумматоров, если вычитаемое представить в "дополнительном" или "обратном" коде и тем самым исключить необходимость в двоичных вычитателях.
Умножение двоичных чисел производится путем образования про-межуточных произведений и последующего их суммирования. Промежуточные поразрядные произведения формируются по следующим правилам:
0 x 0 = 0 101 510 x 310 = 1510
0 x 1 = 0 11
1 x 0 = 0 101
1 x 1 = 1 + 101
Деление чисел в двоичной системе производится по правилам умножения и вычитания.
Например:
110 : 11 = 10 610 : 310 = 210
11
00
Арифметические действия с двоичными числами подробно будут рассмотрены в дальнейшем.
При выполнении любых арифметических действий важное значение имеют такие электронные устройства, как двоичный полусумматор и двоичный сумматор, которые выполняют побитное двоичное сложение по ранее приведенным правилам. Для двоичного вычитания иногда используют и двоичный вычитатель. Приведем условное обозначение двоичных полусумматора и сумматора:
ai HS S ci ai SM S ci
bi
bi P Pi Pi-1 P Pi
а) б)
Рис.2.1 Условное обозначение полусумматора (а)
и двоичного сумматора (б).
Здесь ai и bi это i-тые разряды чисел А и В, которые складываются, а ci - i-тый разряд суммы этих чисел, Pi - перенос из данного разряда в соседний следующий старший, Pi-1 - перенос из соседнего младшего в данный разряд.
Если для представления двоичных чисел А, В, С и их знаков выделена
n-разрядная сетка, то очевидно, что для организации процедуры сложения необходимо n двоичных сумматоров, которые соединяются между собой по определенной схеме, зависящей от того в каком коде представляются эти двоичные числа: прямой, обратный или дополнительный.
Очевидно, что в арифметических устройствах цифровых автоматов помимо двоичных сумматоров используются также регистры, счетчики, различные триггера и электронные устройства, выполняющие различные логические процедуры. Обычно используемые регистры должны позволять не только параллельно записывать в них двоичные коды чисел, но и сдвигать изображения этих чисел влево и вправо на необходимое число двоичных разрядов.
Простейшую блок-схему узла, выполняющего процедуру сложения
A+B=C можно представить следующим образом:
A Pr
CM Pr
Pr C
B
где Рr - некоторые регистры, в которые записываются двоичные числа А, В и С; СM - сумматор, точнее группа сумматоров nSM, где n - длина разрядной сетки, отведенной для представления чисел А, В и С.
Помимо арифметических операций в цифровых автоматах реализуются также логические операции, которые подробно рассматриваются в последующих главах.
Кроме этих операций в цифровых автоматах, компьютерах, выполняется еще одна операция над двоичными числами - это сдвиг числа по разрядной сетке влево или вправо. В случае сдвига влево фактически осуществляется умножение двоичного числа на 2, а при сдвиге вправо - деление на 2, где - количество разрядов, на которое сдвигается двоичное число. Например: 0000112= 310 сдвинем влево на 2 разряда, получим 0011002 = 1210, т.е.
3х4(22) = 1210, а теперь 0010002 = 810 сдвинем на 2 разряда вправо, получим 0000102 = 210, т.е. 8:4(22) = 210.
В компьютерах часто используется циклический сдвиг, при выполнении которого разрядная сетка, отведенная для операнда, представляется замкнутой в кольцо. Тогда при сдвиге влево содержимое старшего разряда попадает в младший разряд операнда, а при сдвиге вправо - наоборот.
Дата добавления: 2016-07-18; просмотров: 4233;