Восьмеричная и шестнадцатеричная системы счисления

Запись числа в двоичной системе громоздка, поэтому, как говорилось выше, для внешнего представления данных, адресации памяти используют восьмеричную и шестнадцатеричную системы счисления.

Например, А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р = an1·рn1 + an2·рn2 +…+ a0·р0 + a1·р1+ a2·р2 +…+ am·р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·31 + 2·32 ≈ 26,889;

222,224 = 2·42 + 2·41 + 2·40 + 2·41 + 2·42 = 42,625;

222,228 = 2·82 + 2·81 + 2·80 + 2·8 1+ 2·82 ≈ 146,281;

222,2216 = 2·162 + 2·161+ 2·160 + 2·161 + 2·162 ≈ 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.

Перевод чисел из десятичной системы счисления в систему с произвольным основанием


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: