Скачиваний:
37
Добавлен:
12.03.2015
Размер:
50.69 Кб
Скачать

Системы счисления

Необходимость выполнения арифметических действий над числами предъявляет особые требования к кодированию числовой информации в ЭВМ. Для работы в двоичном коде наиболее удобной оказывается так называемая двоичная система счисления.

В общем случае система счисления представляет собой совокупность правил для записи чисел. В принятой нами десятичной системе счисления числа записываются по степеням десятки:

1205 = 1000 + 200 + 5 = 1*103+2*102+0*101+5*100

Видно, что значение каждой цифры зависит от ее положения (позиции) в числе и одна и та же цифра может принимать различные значения, как например в числе 33 первая тройка означает три десятка, а вторая - три единицы. Такие системы счисления называются позиционными.

Основанием десятичной системы счисления является число десять. И именно десять цифр (символов) используется в этой системе. В принципе, основанием системы счисления может быть любое число. Но для таких систем всегда справедливо равенство:

A(q) = an-1qn-1+an-2qn-2+...+a1q1+a0q0+a-1q-1+a-2q-2+...+a-mq-m

где: A - произвольное число; q - основание системы счисления; a - цифры; n - количество целых разрядов; m - количество дробных разрядов.

На практике используют сокращенную запись чисел, отделяя целую часть от дробной специальным символом (запятой или точкой):

A(q) = an-1 an-2...a1 a0, a-1 a-2...a-m

В двоичной системе счисления для представления чисел используются всего две цифры 0 и 1 . Рассмотрим, как будет представлено целое десятичное число 1205 в двоичной системе:

Пример 1.

1205(10) = 1024(10) + 128(10) + 32(10) + 16(10) + 4(10) + 1(10)=

= 1*210 +0*29 +0*28 +1*27 +0*26 +1*25 +1*24 +0*23 +1*22 +0*21 +1*20=

= 10010110101(2)

По аналогичному принципу переводятся в двоичную систему и дробные части чисел:

Пример 2.

0,6875(10) = 0,5(10) + 0,125(10) + 0,0625(10) =

= 1*2-1 +0*2-2 +1*2-3 +1*2-4 = 0,1011

При переводе дробных чисел из одной системы в другую часто возникают ситуации, когда дробь, рациональная в одной системе счисления, в другой системе получается в виде бесконечного ряда:

Пример 3.

0,6(10) = 0,1001100110011...(2)

Двоичная система счисления, используемая для внутреннего представления чисел в ЭВМ, оказывается довольно неудобной для человека, прежде всего в силу затрудненности восприятия чисел, представляющих собой длинные последовательности из единиц и нулей. Поэтому, специалисты, как некоторый компромиссный вариант, довольно часто используют шестнадцатеричную систему счисления в качестве промежуточной между ЭВМ и человеком. Такая система имеет в своем алфавите 16 символов. Первые десять (0  9) общеприняты. Остальные шесть цифр от 10 до 15 кодируются символами A, B, C, D, E, F. Запишем рассмотренное выше десятичное 1205 в системе с основанием 16:

Пример 4.

1205(10) = 4*162 +11*161 +5*160 = 4B5(16)

Почему профессионалами было выбрано именно число 16 в качестве основания системы счисления, легко объяснить следующим примером.

Разобьем двоичную запись числа 1205 на зоны по четыре разряда (на так называемые тетрады), начиная с правого края:

1205(10) = 10010110101(2) =010010110101

Запишем в десятичном, а затем и в шестнадцатеричном виде значение каждой из тетрад:

010010110101 = 4 11 5 = 4B5(16)

Нетрудно понять, что перевод чисел из двоичной в шестнадцатеричную систему счисления и обратно легко осуществляется с помощью тетрад.

В таблице приведены эквиваленты первых двадцати целых чисел в различных система счисления.

Таблица.

Основание системы

Основание системы

Основание системы

q=2

q=10

q=16

q=2

q=10

q=16

q=2

q=10

q=16

00000

0

0

00111

7

7

01110

14

E

00001

1

1

01000

8

8

01111

15

F

00010

2

2

01001

9

9

10000

16

10

00011

3

3

01010

10

A

10001

17

11

00100

4

4

01011

11

B

10010

18

12

00101

5

5

01100

12

C

10011

19

13

00110

6

6

01101

13

D

10100

20

14

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

Одно и то же количество разрядов в разных системах счисления может передать разное число состояний отображаемого объекта. Имеет место зависимость:

N = mn

где N - число возможных отображаемых состояний системы; m - основание системы счисления (количество символов, применяемых в алфавите); n - число символов (разрядов) в сообщении.

Можно заметить, что для записи одной и той же числовой величины в разных системах счисления требуется неодинаковое число разрядов. Показанные примеры убеждают, что чем меньше основание системы, тем больше длина числа (количество разрядов). Поэтому если длина разрядной сетки фиксирована, это ограничивает абсолютное значение целого числа, которое может быть в эту сетку записано. Разрядная сетка ЭВМ набирается из элементарных двоичных базовых элементов и, естественно, не может быть безразмерной. Это строго фиксированная величина, являющаяся характеристикой конкретной ЭВМ. Например, в сетку из восьми разрядов можно записать 256 целых двоичных чисел - от 00000000 до 11111111 , что для десятичного представления соответствует диапазону 0 255.

При записи правильных дробей в фиксированную разрядную сетку возможна потеря точности. Покажем это с числами из примера 3, ограничившись восьми разрядами дробной части при записи в двоичном виде:

0,6(10) 0,10011001(2) = 0,59765625(10)

В компьютерной технике разработаны специальные программно - аппаратные методы перевода чисел из одной системы в другую с минимальными затратами времени на такие преобразования.