Позиційна система числення.
Традиционная система чисел, которой нас научили в школе и которой мы ежедневно пользуемся, является позиционной системой счисления (positional number system). В такой системе число представляется строкой цифр, в которой каждому разряду приписан определенный вес (weight). Значение числа равно взвешенной сумме его разрядов, например:
1734 = 1*103+7*102+3*101+4*100
Каждый вес - это степень числа 10, соответствующая положению цифры в строке. Десятичная точка позволяет использовать как положительные, так и отрицательные степени числа 10.
В технике, наряду с десятичной, большое распространение получила двоичная система счисления. Основание двоичной системы равно двум, следовательно, в ней имеется только две цифры: 0 и 1. Этими двумя цифрами можно записать любое число. Перевод десятичного числа в двоичную систему поясним на примере числа 37:
37 1
18 0
9 1
4 0
2 0
1 1
В левой колонке каждое следующее число меньше предыдущего вдвое. Если число не делится на два, то его необходимо уменьшить на единицу. В правой колонке единицами отмечены нечётные числа, нулями — чётные. Читая снизу вверх цифры правой колонки, получаем искомое двоичное число:
3710=а4 а3 а2 а1 а0.
Для перевода (n + 1)-разрядного двоичного числа в десятичное можно воспользоваться развёрнутой записью числа двоичной системы:
N = anqn+an-1qn-1+an-2qn-2+…+a1q1+a0q0
Переведём в десятичную систему двоичное число 100101. Согласно его записи имеем:
n=5; a0=a2=a5=1; a1=a3=a4=0
Тогда получим:
1001012.=1*25+0*24+0*23+1*22+0*21+1*20=32+4+1=3710.
Над двоичными числами можно выполнять те же операции, что и над десятичными. Главной из них является операция сложения.
Сложение двоичных чисел осуществляется поразрядно, с запоминанием единиц переноса, точно так же, как и в десятичной системе. Поясним это на примере. Пусть a = 101011, b = 101110, найдём их сумму a + b.
Запишем числа a и b одно под другим, совместив
младшие разряды:
1 0 1 0 1 1 - число а
+
___1 0 1 1 1 0 - число b
1 0 1 1 0 0 1 - число а+b
(1) (0) (1) (1) (1) (0) - переносы
Как и в десятичной системе, суммирование начинаем
с младшего разряда:
а) 1 + 0 = 1, переноса нет, под цифрой 1 (младший разряд числа a + b) записываем в скобках нуль;
б) во втором разряде суммируются единицы: 1 + 1 = 10, т. е. сумма равна нулю и есть единица переноса. Записываем её под результирующим нулём второго
разряда суммы;
в) в третьем разряде 0 + 1 = 1, но ещё надо прибавить единицу переноса из второго разряда, тогда 0 + 1 + 1 = 10. Снова сумма равна нулю и есть единица
переноса;
г) в четвёртом разряде суммируются две единицы и к ним прибавляется единица переноса из третьего разряда:
1 + 1 + 1 = 11. В результате сумма равна 1 и есть единица переноса;
д) в пятом разряде 0 + 0 + 1 = 1, т. е. сумма равна единице, переноса нет;
е) в шестом разряде 1 + 1 = 10. Сумма равна нулю, а единица переноса образует седьмой разряд суммы a + b. Это эквивалентно записи 0+0+1=1, если числа a и b
записать в виде a = 0101011, b = 0101110, т. е. удлинить
их путём приписывания слева нулей.
Другие арифметические операции рассматривать не будем, так как в дальнейшем изложении материала они не понадобятся.