Ей системах счисления.
Арифметические операции в позиционных системах счисления производятся по единому алгоритму. Так, сложение двоичных чисел происходит по классическому алгоритму «столбиком» с переносом двойки в следующий ряд. Необходимо помнить о следующих правилах сложения и умножения чисел в двоичной системе счисления.
0+0=0 | 0*0=0 | |
0+1=1 | 0*1=0 | |
1+0=1 | 1*0=0 | |
1+1=10 | 1*1=1 |
Важно обратить внимание на то, что при сложении двух единиц происходит переполнение разряда и производится перенос в старший разряд. Переполнение разряда наступает тогда, когда величина числа в нем становится равной или большей основания. Проверим, действительно ли 12+12=102: переведем слагаемые в десятеричную систему счисления. 12=110, поэтому 12+12=110+110=210=102.
Пример С3. Найти сумму чисел и
.
Решение.
Первое слагаемое | + 1010101 |
Второе слагаемое | |
Сумма |
Проверим результат нашего сложения, для чего переведем слагаемые и сумму в десятичную систему счисления:
Как видим, действительно 85+55=140. <
Двоичная система, являющаяся основой всей компьютерной арифметики, тем не менее весьма громоздка и не удобна для использования человеком. Поэтому программисты пользуются двумя кратными двоичной системами счисления: восьмеричной и шестнадцатеричной.
Приведем в качестве примера запись натуральных чисел от единицы до шестнадцати в четырех системах счисления. Для удобства перевода из двоичной в восьмеричную и шестнадцатеричную системы рассмотрим следующую таблицу:
Таблица 3. Перевод чисел из одной системы счисления в другую
10-ная | 2-ная | 8-ная | 16-ная | 2-8 | 2-16 |
A | |||||
B | |||||
C | |||||
D | |||||
E | |||||
F |
Из этой таблицы видно, что в двоичной системе счисления запись числе второй восьмерки чисел (от 8 до 15) отличается от записи первой восьмерки (от 0 до 7) наличием единицы в четвертом (слева) разряде. На этом основан алгоритм перевода двоичных чисел в восьмеричные «по триадам». Для применения этого алгоритма надо разбить двоичное число на тройки цифр (естественно, отсчитывая справа по три цифры для целого числа и слева для дробного числа) и записать вместо каждой из троек восьмеричную цифру.
Пример С4. Перевести число в восьмеричную систему счисления.
Решение.
Для решения необходимо разбить число справа (т.к. оно целое) на «триады». Если до крайней слева тройки не хватает цифр, то дописываем незначащие нули слева.
.<
Для перевода чисел из восьмеричной системы в двоичную используется обратный алгоритм: (восьмеричные цифры заменяются на тройки двоичных цифр).
Например, .
Для перевода чисел из двоичной системы в шестнадцатеричную используется алгоритм «по тетрадам». Строка двоичных цифр разбивается на четверки и вместо них записываются шестнадцатеричные цифры.
Пример С5. Перевести двоичное число 110111101011101111,101 в шестнадцатеричную систему счисления.
Решение. Разделим данное число на группы по четыре цифры, начиная справа для целой части числа и слева для дробной части числа. Если в крайней левой группе (для целой части) и в крайней правой(для дробной части) окажется меньше четырех цифр, то дополним их нулями.
Следовательно,
.<