Правила недесятичной арифметики. Числа с фиксированной точкой

 

 


Как уже отмечалось, операция вычитания в двоичном коде заменяется операцией сложения с отрицательным числом, поэтому рассмотрим на примерах правила сложения двух положительных, положительного и отрицательного, отрицательного и положительного и двух отрицательных чисел. Вообще, операция сложения, наряду с операцией сдвига, являются основными, т.к. помимо вычитания, к ним сводятся и операции умножения и операции деления двоичных чисел.

Таблица 2.2. Правила поразрядного сложения двоичных чисел



ai

bi

pi-1

Si

Pi

0

0

0

0

1

1

1

1

0

0

1

1

0

0

1

1

0

1

0

1

0

1

0

1

0

1

1

0

1

0

0

1

0

0

0

1

0

1

1

1

Сложение двоичных чисел происходит поразрядно в соответствии с таблице 2.2. Особенностью сложения разрядов ai и bi двух двоичных чисел является наличие переноса из предыдущего разряда pi-1. Результат сложения помещается в Si, а возникший перенос в Pi.

Пример 2.14. Сложение двух положительных чисел A10 = +18 и B10 = +7 в прямом, обратном и дополнительном кодах

Представляем числа в двоичном коде A2 = +10010 и B2 = +111.

Выравниваем разрядную сетку чисел, т.е. приписываем перед старшим разрядом B2 (так как оно имеет всего три разряда, а А2 - пять) два нуля A2 = 0|10010 и B2 =0|00111.

Запишем прямой, обратный и дополнительный коды обоих чисел:

 

Сложение в прямом, обратном и дополнительном кодах даст одинаковый результат R2:

  

Пример 2.15. Сложение положительного числа A10 = +18 и отрицательного B10 = -7 в прямом, обратном дополнительном кодах

Представляем числа в двоичном коде A2 = +10010 и B2 = -111.

Выравниваем разрядную сетку чисел A2 = 0|10010 и B2 =1|00111.

Запишем прямой, обратный и дополнительный коды обоих чисел:

  

  

Сложение в обратном коде даст результат R2, а в дополнительном T2:

  

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

В дополнительном коде также получен перенос в знаковый разряд, однако в этом случае единица теряется. Это обстоятельство является различием операций сложения в обратном и дополнительном кодах.

  

Сложение отрицательного числа с положительном производится аналогично процедуре описанной в примере 2.15.

Сложение двух отрицательных чисел производится поразрядно, согласно процедуре, описанной в примере 2.14, знак суммы в этом случае будет «-», т.е. в знаковом разряде получается 1.

Умножение двоичных чисел проще всего реализуется в прямом коде. Для иллюстрации умножения рассмотрим пример.

Пример 2.16. Умножение двоичных чисел A10 = +6 и B10 = +5

Представляем числа в двоичном коде A2 = +110 и B2 = +101.

Выравниваем разрядную сетку чисел, если это необходимо.

Запишем прямой код обоих чисел:

 

Умножение в прямом коде даст результат R2:

  

Таким образом, операция умножения заменяется операцией сложения и операцией сдвиг. Знак произведения формируется суммированием знаковых разрядов сомножителей.

Деление двоичных чисел также как и умножение проще всего реализуется в прямом коде и является операцией обратной умножению. Для иллюстрации деления рассмотрим пример.

Пример 2.17. Деление двоичных чисел A10 = +36 и B10 = +4

Представляем числа в двоичном коде A2 = +100100 и B2 = +100.

Запишем прямой код обоих чисел:

 

Деление в прямом коде даст результат R2:

  

Деление двоичных чисел производится, как и в обычной десятичной системе счисления10. На первом шаге следует проверить возможность вычитания делителя из делимого (результат не должен быть отрицательным), если это возможно в частное записывается единица, в противном случае нуль, а делитель сдвигается на один разряд вправо относительно делимого. Затем один разряд делимого сносят вниз и проверку повторяют. Знак результата получают сложением, как и при умножении.


Лекция добавлена 28.02.2013 в 03:22:25