Запись числа в двоичной системе громоздка, поэтому, как говорилось выше, для внешнего представления данных, адресации памяти используют восьмеричную и шестнадцатеричную системы счисления.
Например, А8 = 23,718 = 2·81 + 3·80 + 7·8-1 + 1·8-2;
А16 = 23,7116 = 2·161 + 3·160 + 7·16-1 + 1·16-2;
А16 = АF,EC16 = A·161 + F·160 + E·16-1 + C·16-2 =
= 10·161 + 15·160 + 14·16-1 + 12·16-2.
Т а б л и ц а 2 | |||
Десятичные числа от 0 до 16 и равные им двоичные, восьмеричные и шестнадцатеричные числа | |||
р = 10 | р = 2 | р = 8 | р = 16 |
A | |||
B | |||
C | |||
D | |||
E | |||
F | |||
Таблицы сложения и умножения в восьмеричной и шестнадцатеричной системах счисления сложнее для понимания. Арифметические действия обычно выполняют так: все числа переводят в двоичную систему счисления, выполняют действия, а затем результат переводят в нужную систему счисления. (Подобные переводы рассмотрим ниже.)
|
|
Соответствие между десятичными, двоичными, восьмеричными и шестнадцатеричными числами иллюстрирует табл. 2.
Перевод чисел из системы с произвольным основанием в десятичную систему счисления
Перевод числа из системы с произвольным основанием р в десятичную систему счисления выполняется с помощью формулы разложения этого числа по степеням основания р (т. е. с помощью развернутой формы записи числа):
Aр = an–1·рn–1 + an–2·рn–2 +…+ a0·р0 + a–1·р–1+ a–2·р–2 +…+ a–m·р–m. (7)
Для перевода следует вычислить сумму числового ряда. Например:
110,1012 = 1·22 + 1·21 + 0·20 + 1·2–1 + 0·2–2 + 1·2–3 = 6,675;
222,223 = 2·32 + 2·31 + 2·30 + 2·3–1 + 2·3–2 ≈ 26,889;
222,224 = 2·42 + 2·41 + 2·40 + 2·4–1 + 2·4–2 = 42,625;
222,228 = 2·82 + 2·81 + 2·80 + 2·8– 1+ 2·8–2 ≈ 146,281;
222,2216 = 2·162 + 2·161+ 2·160 + 2·16–1 + 2·16–2 ≈ 546,133.
Быстрый способ перевода чисел с помощью устного счета
Идея этого способа заключается в том, что если к целому числу справа приписать ноль, то число увеличивается вдвое (см. п. 1.3.2); если приписать единицу, то число увеличивается вдвое плюс единица. Например, было число 1012 = 510. Если к числу 1012 приписать справа ноль, то получим: 10102 = 1010. Если к числу 1012 приписать справа единицу, то получим: 10112 = 1110. Алгоритм рассмотрим на примере перевода: А2 = 110101,011012.
Для перевода целой части двоичного числа необходимо поочередно открывать разряды двоичного числа:
1; 1·2 + 1 = 3; 3·2 = 6; 6·2 + 1 = 13; 13·2 = 26; 26·2 + 1 = 53.
С дробной частью поступают аналогично:
1; 1·2 + 1 = 3; 3·2 = 6; 6·2 + 1 = 13.
Дробная часть числа состоит из пяти цифр. Пятый разряд после запятой имеет вес 32, поэтому дробная часть равна 13/32 = 0,40625.
|
|
Ответ: А10 = 53,40625.
Перевод чисел из десятичной системы счисления в систему с произвольным основанием