Арифметические операции в позиционных системах счисления.
Над числами, записанными в любой системе счисления, можно производить различные арифметические операции. Правила выполнения этих операций в десятичной системе хорошо известны — это сложение, вычитание, умножение столбикомиделение углом. Эти правила применимы и ко всем другим позиционным системам счисления. Толькотаблицами сложения и умножения надо пользоваться особыми для каждой системы.
При сложении цифры суммируются по разрядам, и если при этом возникает избыток, то он переносится влево. Сложение и умножение двоичных чисел выполняется по правилам:
+ |
– |
* |
0 + 0 = 0 |
0 – 0 = 0 |
0 * 0 = 0 |
1 + 0 = 1 |
1 – 0 = 1 |
1 * 0 = 0 |
0 + 1 = 1 |
1 – 1 = 0 |
0 * 1 = 0 |
1 + 1 = 10 |
10 – 1 = 1 |
1 * 1 = 1 |
Примеры с двоичными числами:
101001 101 10111 1100,01
+1011 + 011 + 10110 - 0,10
110100 1000 101101 1011,11
Умножение
Выполняя умножение многозначных чисел в различных позиционных системах счисления, можно использовать обычный алгоритм перемножения чисел в столбик, но при этом результаты перемножения и сложения однозначных чисел необходимо заимствовать из соответствующих рассматриваемой системе таблиц умножения и сложения.
Ввиду чрезвычайной простоты таблицы умножения в двоичной системе, умножение сводится лишь к сдвигам множимого и сложениям.
×11011 100111
1001 * 1000111
11011 100111
+ 00000 + 100111
+ 00000 + 100111
+ 11011 + 100111
11110011 101011010001
Деление
Деление в любой позиционной системе счисления производится по тем же правилам, как и деление углом в десятичной системе. В двоичной системе деление выполняется особенно просто, ведь очередная цифра частного может быть только нулем или единицей.
- 101001101 1001 − 333 9 11110 110
1001 100101 27 37 - 110 101
10 − 63 110
101 63 110
−1011 0 0
1001 1001000 1000
100 - 1000 1001
−1001 1000
1001 - 1000
0 0
Арифметические действия с числами в восьмеричной и шестнадцатеричной системах счисления выполняются по аналогии с двоичной и десятичной системами. Для этого необходимо воспользоваться необходимыми таблицами.
Процессор не умеет непосредственно осуществлять операцию вычитания, поэтому вычитание приходится сводить к сложению путем представления вычитаемого в так называемом дополнительном коде. Рассмотрим прежде всего обратный код числа. Например, 1001 (исходное число), а 0110 - обратный код + 1 = 0111 дополнительный код.
Т.е. вычитание в двоичной арифметике – это сложение уменьшаемого с дополнительным кодом вычитаемого. Например, из 1012 вычесть 102
1) 102= 010, его обратный код 101
2) затем увеличив обратный код на 1 получим дополнительный код 110
3) сложим
101
+ 110 (или 5-2=3)
_______
10112
4) Отметим, что перенос из старшего результата означает, что полученный результат положителен
Вопросы для самоконтроля
Что называется системой счисления?
В чем отличие позиционных систем счисления от непозиционных?
Как определяется процесс кодирования информации и почему в нем существует необходимость?
Какие единицы измерения количества информации вы знаете?
Почему двоичное представление информации входит в число основных принципов работы современных ЭВМ?
Переведите из двоичной системы счисления в десятичную: 101000112 и 11010112.
Что такое базис естественной позиционной системе счисления?
Какие методы перевода чисел от одной системы счисления в другую вы знаете?
Дополнительный материал
Пример 1. Сложим числа 15 и 6 в различных системах счисления.
Шестнадцатеричная: F16+616
|
Ответ: 15+6 = 2110=101012=258=1516. Проверка. Преобразуем полученные суммы к десятичному виду: 101012= 24+ 22+ 20= 16+4+1=21, 258= 2*81+ 5*80= 16 + 5 = 21, 1516= 1*161+ 5*160= 16+5 = 21. |
Пример 2. Сложим числа 15, 7 и 3.
Шестнадцатеричная: F16+716+316
|
Ответ: 5+7+3 =2510=110012=318= 916. Проверка: 110012= 24+ 23+ 20= 16+8+1=25, 318= 3*81+ 1*80= 24 + 1 = 25, 1916= 1*161+ 9*160= 16+9 = 25.
|
Пример 3. Сложим числа 141,5 и 59,75.
Ответ: 141,5 + 59,75 = 201,2510= 11001001,012= 311,28= C9,416
Проверка. Преобразуем полученные суммы к десятичному виду: 11001001,012= 27+ 26+ 23+ 20+ 2-2= 201,25 311,28= 3*82+ 1•81+ 1*80+ 2*8-1= 201,25 C9,416= 12*161+ 9*160+ 4*16-1= 201,25