Арифметические действия над числами в позиционной системе счисления

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

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

При сложении одноразрядных чисел пользуются таблицей сложения. Для десятичной системы счисления ее называют таблицей Архимеда и изучают в первом классе школы (она обычно изображена на обложке тетрадей по арифметике).

Вот как выглядит эта таблица:

Таблица сложения однозначных чисел для десятичной системы

0+0=0 0+1=1 0+2=2 0+3=3 0+4=4 0+5=5 0+6=6 0+7=7 0+8=8 0+9=9
1+0=1 1+1=2 1+2=3 1+3=4 1+4=5 1+5=6 1+6=7 1+7=8 1+8=9 1+9=10
2+0=2 2+1=3 2+2=4 2+3=5 2+4=6 2+5=7 2+6=8 2+7=9 2+8=10 2+9=11
3+0=3 3+1=4 3+2=5 3+3=6 3+4=7 3+5=8 3+6=9 3+7=10 3+8=11 3+9=12
4+0=4 4+1=5 4+2=6 4+3=7 4+4=8 4+5=9 4+6=10 4+7=11 4+8=12 4+9=13
5+0=5 5+1=6 5+2=7 5+3=8 5+4=9 5+5=10 5+6=11 5+7=12 5+8=13 5+9=14
6+0=6 6+1=7 6+2=8 6+3=9 6+4=10 6+5=11 6+6=12 6+7=13 6+8=14 6+9=15
7+0=7 7+1=8 7+2=9 7+3=10 7+4=11 7+5=12 7+6=13 7+7=14 7+8=15 7+9=16
8+0=8 8+1=9 8+2=10 8+3=11 8+4=12 8+5=13 8+6=14 8+7=15 8+8=16 8+9=17
9+0=9 9+1=10 9+2=11 9+3=12 9+4=13 9+5=14 9+6=15 9+7=16 9+8=17 9+9=18

 

Таблица симметрична относительно диагонали, поэтому достаточно учитывать только ее половину (плюс саму диагональ – т.е. 55 комбинаций из 100) – соответствующие комбинации отмечены в таблице жирным шрифтом.

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

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

Таким образом, для автоматизации сложения одноразрядных чисел следует спроектировать устройство с двумя входами, на каждый из которых поступает цифра слагаемого, и с двумя выходами: на одном формируется цифра суммы (с возможными значениями от 0 до 9), на втором выходе формируется значение переноса, которое может принимать только значения 0 или 1. Однако техническая реализация устройства суммирования десятичных одноразорядных чисел оказывается относительно сложной. В двоичной системе это получается гораздо проще

Теперь сформулируем правило сложения многоразрядных чисел.

Для сложения (вычитания) многоразрядных чисел A и B следует складывать (вычитать) отдельно цифры в каждом из разрядов, пользуясь приведенной таблицей сложения (вычитания), с учетом возможного переноса (заема) из предыдущего (младшего) разряда.

В этой фразе кратко сформулировано изучаемое в начальной школе правило сложения (вычитания) столбиком. Если требуется выполнить действие вручную (в практике программирования приходится иногда такое делать), можно сделать это на бумаге «в столбик». Если вы сидите за компьютером, вызовите «Калькулятор» и переключите его в «инженерный» вид.

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

Теперь рассмотрим, как выглядит таблица сложения в двоичной системе счисления, где цифр всего две:

 

Двоичная таблица сложения

0+0=0 0+1=1  
1+0=1 1+1=102 (Результат изображен в двоичной системе счисления!)

Эта таблица предельно проста. Далее мы опишем эту таблицу, используя символику алгебры логики.

Для сложения для многоразрядных двоичных чисел полностью годится сформулированное чуть раньше правило.