Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Соколовская Н.Н. Системы счисления.doc
Скачиваний:
20
Добавлен:
09.04.2015
Размер:
247.81 Кб
Скачать

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

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

Например, А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

0

0

0

0

1

1

1

1

2

10

2

2

3

11

3

3

4

100

4

4

5

101

5

5

6

110

6

6

7

111

7

7

8

1000

10

8

9

1001

11

9

10

1010

12

A

11

1011

13

B

12

1100

14

C

13

1101

15

D

14

1110

16

E

15

1111

17

F

16

10000

20

10

Таблицы сложения и умножения в восьмеричной и шестнадцатеричной системах счисления сложнее для понимания. Арифметические действия обычно выполняют так: все числа переводят в двоичную систему счисления, выполняют действия, а затем результат переводят в нужную систему счисления. (Подобные переводы рассмотрим ниже.)

Соответствие между десятичными, двоичными, восьмеричными и шестнадцатеричными числами иллюстрирует табл. 2.

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

Перевод числа из системы с произвольным основанием р в десятичную систему счисления выполняется с помощью формулы разложения этого числа по степеням основания р (т. е. с помощью развернутой формы записи числа):

Aр = an1·рn1 + an2·рn2 +…+ a0·р0 + a1·р1+ a2·р2 +…+ am·рm. (7)

Для перевода следует вычислить сумму числового ряда. Например:

110,1012= 1·22+ 1·21+ 0·20+ 1·21+ 0·22+ 1·23= 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.5. Быстрый способ перевода чисел с помощью устного счета

Идея этого способа заключается в том, что если к целому числу справа приписать ноль, то число увеличивается вдвое (см. п. 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.