Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

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

.pdf
Скачиваний:
20
Добавлен:
02.04.2015
Размер:
415.26 Кб
Скачать

ТЕМА: Позиционные системы счисления. Представление чисел в виде полинома. Преобразование чисел из одной системы счисления в другую

Способы представления данных в ЭВМ

ЭВМ позволяет осуществлять сложнейшие расчеты, используя для всех операций простой элемент информации – бит (Binary digit –двоичная цифра). Данный элемент принимает только два значения: 1 или 0 (включен или выключен). Набор из восьми бит называется байтом, где старшинство разрядов определяется справа налево, т.е. крайний правый разряд - самый младший, а крайний левый - самый старший. Для обработки данных в ЭВМ используются различные системы счисления.

Под системой счисления понимают способ представления любого числа

спомощью некоторого набора цифр, который является базовым.

ВЭВМ чаще всего используют следующие системы счисления:

-десятичная,

-двоичная,

-восьмеричная,

-шестнадцатеричная.

Вдесятичной системе счисления для представления чисел используют набор из десяти цифр: 0,1,2,3,4,5,6,7,8,9, в двоичной – из двух цифр: 0,1, в восьмеричной – из восьми цифр: 0,1,2,3,4,5,6,7. В шестнадцатеричной системе счисления, кроме цифр используются также символы A,B,C,D,E,F, т.е.

базовый набор следующий: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F.

Представление некоторых чисел в разных системах счисления см. в таблице 6.

Представление чисел в виде полинома

Количество d различных цифр и символов, употребляемых в системе счисления, называется ее основанием. Системы счисления подразделяются на позиционные и непозиционные.

Система счисления называется позиционной, значение цифры зависит от ее месторасположения в последовательности цифр, изображающих число. В непозиционной системе счисления значение цифры не зависит от ее положения в записи. Например, десятичная система счисления является позиционной, а римская – непозиционной.

Пример: у числа XXX (тридцать) цифра X в любом месте означает число десять. Рассмотрим теперь число 222 в десятичной системе счисления. Здесь цифра 2 повторяется три раза, но при этом одна из них означает число еди-

2

ниц, другая – число десятков, а третья – число сотен. Таким образом число 222 представляет собой сокращенную запись выражения 2 102+2 101+2 100.

Таблица 6 Сравнительная таблица чисел в разных системах счисления

Десятичное

Двоичное

Восьмеричное

Шестнадцати-

число

число

число

ричное число

0

0000

0

0

1

0001

1

1

2

0010

2

2

3

0011

3

3

4

0100

4

4

5

0101

5

5

6

0110

6

6

7

0111

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

В случае позиционной системы счисления с основанием d любое число x может быть представлено в виде полинома:

x=An d n + An-1 dn 1 +...+ A1 d1 + A0 d0 ,

где Ai– любые базовые цифры.

Так при использовании двоичной системы счисления (d=2) число x будет представлено так:

x=An2n+ An-12n-1+...+ A121+ A020.

Например, двоичное число 1110 эквивалентно 14 в десятичной системе счисления:

3

2

1

0

– Показатель степени

1

1

1

0

–Число

1 23+1 22+1 21+1 20 =14

Таким образом, 11102 =1410.

3

В дальнейшем для обозначения системы счисления будут использоваться записи:

436910 – десятичное число;

10001000100012 – двоичное число;

111116 – шестнадцатеричное число;

Любое число, заданное в восьмеричной системе счисления, может быть представлено в виде полинома с основанием 8:

x=An 8n+ An-1 8n-1+...+ A1 81+ A0 80.

Так, например, число 1238 может быть записано в десятичной форме

1238=8310

2

1

0

– Показатель степени

1

2

3

–Число

1 82+1 81+1 80=83.

Аналогичным образом число в шестнадцатеричной системе счисления может быть представлено в виде полинома с основанием 16. Например, число ABBA16 в десятичной системе будет иметь вид:

3

2

1

0

– Показатель степени

A

B

B

A

–Число

10 163+11 162+11 161+10 160 = 40960+2816+176+10 = 43962 ABBA16=4396210.

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

Использование в ЭВМ двоичной системы счисления получило широкое распространение, т.к. для представления данных могут использоваться простые электронные элементы, имеющие всего два устойчивых состояния. Однако числа, представленные в двоичной форме, имеют большую длину и поэтому трудны для восприятия. Для изображения цепочек из нулей и единиц часто используют восьмеричное и шестнадцатеричное представление. Рассмотрим способы преобразования целых чисел из одной системы счисления в другую.

Преобразование чисел из двоичной системы в шестнадцатеричную

(восьмеричную). Для преобразования чисел поступают следующим образом: разделяют двоичное число на группы по 4 (или 3) бита в каждой, дополняя

4

при необходимости нулями крайнюю левую группу. Каждую группу заменяют соответствующей эквивалентной шестнадцатеричной (восьмеричной) цифрой (см. таблицу 6).

Пример:

Двоичное число

1010 1101 1010

 

1101 1110 1011 1010

 

 

 

 

Шестнадцатеричное

A

D

 

A

 

D

E

B

A

 

число

 

 

 

 

 

 

 

 

 

 

Двоичное число

101 011 011010

001 101 111 010

111

010

 

 

 

Восьмеричное

5

3

3

2

1

5

7

2

7

2

Преобразование чисел из шестнадцатеричной (восьмеричной) систе-

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

Пример:

Шестнадцатеричное

A

D

 

A

 

D

E

B

A

 

число

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Двоичное число

1010 1101 1010

1101 1110 1011 1010

Восьмеричное

 

 

 

 

 

 

 

 

 

 

число

5

3

3

2

1

5

7

2

7

2

Двоичное число

 

 

 

 

 

 

 

 

 

 

 

 

 

101

011

011 010

001

101

111

010

111

010

Преобразование числа из системы счисления с основанием p в деся-

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

Примеры: 57618=583+782+68+1=305710 AF16=1016+15=17510

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

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

осуществляется путем последовательного деления числа на 2 нацело и записи остатков от деления, начиная с младшего. Рассмотрим это на примере. Перевести число 14010 в двоичное число.

 

 

 

 

140

 

2

 

 

 

 

 

5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

140

 

70

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

70

 

 

35

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

34

 

 

17

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

16

 

8

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

8

 

 

4

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

4

 

 

2

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

2

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

направление чтения

 

 

 

 

 

Таким образом, получается 14010=100011002.

 

 

 

 

 

 

Проверка:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

7

6

5

4

 

3

2

 

1

0

– Показатель степени

1

0

0

0

1

1

 

0

1

–Число

 

 

 

 

 

 

 

 

 

127+123+122=128+8+4=140

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Аналогичным образом производится

преобразование чисел из десятич-

ной системы в шестнадцатеричную и восьмеричную системы счисления.

Пример: Перевести 203610 в восьмеричную систему.

2036

8

 

 

 

 

 

 

 

2032

254

 

8

 

 

 

 

 

4

 

248

 

31

 

 

8

 

 

 

 

 

6

 

 

24

 

 

3

 

 

 

 

 

 

 

 

 

 

 

 

7

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

направление чтения

203610=37648.

Пример: Перевести число 306010 в шестнадцатеричную систему счисления.

3060

 

16

 

 

 

 

3056

 

191

 

16

 

 

4

 

 

176

 

11

 

 

 

 

 

15

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

направление чтения

6

1110=B16; 1510=F16. Получается 306010=BF416

Правила перевода правильных дробей.

Результатом является всегда правильная дробь.

Из десятичной системы счисления - в двоичную и шестнадцатеричную:

1.исходная дробь умножается на основание системы счисления, в которую переводится (2 или 16);

2.в полученном произведении целая часть преобразуется в соответствии с таблицей в цифру нужной системы счисления и отбрасывается - она является старшей цифрой получаемой дроби;

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

4.формируется результат: последовательно отброшенные в шаге 2) цифры составляют дробную часть результата, причем в порядке уменьшения старшинства.

Пример Выполнить перевод числа 0,847 в двоичную систему счисления. Перевод выполнить до четырех значащих цифр после запятой. Имеем:

Пример. Выполнить перевод числа 0,847 в шестнадцатеричную систему счисления. Перевод выполнить до трех значащих цифр.

7

Из двоичной и шестнадцатеричной систем счисления - в десятич-

ную. В этом случае рассчитывается полное значение числа по формуле, причем коэффициенты ai принимают десятичное значение в соответствии с таблицей.

Пример. Выполнить перевод из двоичной системы счисления в десятич-

ную числа 0,11012. Имеем:

0,11012= 1*2-1 + 1*2-2 + 0*2-3 +1*2-4=0,5 + 0,25 + 0 + 0,0625=0,8125.

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

Таким образом, 0,11012 = 0,8125.

Пример. Выполнить перевод из шестнадцатеричной системы счисления в десятичную числа 0,D8D16. Имеем:

0,D8D16 = 13*16-1 + 8*16-2 + 13*16-3 = 13*0,0625 + 8*0,003906 + 13* 0,000244 = 0,84692.

Из двоичной системы счисления в шестнадцатеричную:

1.исходная дробь делится на тетрады, начиная с позиции десятичной точки вправо. Если количество цифр дробной части исходного двоичного числа не кратно 4, оно дополняется справа незначащими нулями до достижения кратности 4;

2.каждая тетрада заменяется шестнадцатеричной цифрой в соответствии с таблицей.

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

дцатеричную числа 0,11012. Имеем: 0,11012 = 0,11012 В соответствии с таблицей 11012 = D16. Тогда имеем 0,11012 = 0,D16.

8

Пример. Выполнить перевод из двоичной системы счисления в шестнадцатеричную числа 0,00101012.

Поскольку количество цифр дробной части не кратно 4, добавим справа незначащий ноль: 0,00101012 = 0,001010102. В соответствии с таблицей

00102 = 102 = 216 и 10102 = A16. Тогда имеем 0,00101012 = 0,2A16.

Из шестнадцатеричной системы счисления в двоичную:

1.каждая цифра исходной дроби заменяется тетрадой двоичных цифр в соответствии с таблицей;

2.незначащие нули отбрасываются.

Пример. Выполнить перевод из шестнадцатеричной системы счисления в двоичную числа 0,2А16. По таблице имеем 216 = 00102 и А16 = 10102.

Тогда 0,2А16 = 0,001010102. Отбросим в результате незначащий ноль и получим окончательный результат: 0,2А16 = 0,00101012.

Правило перевода дробных чисел

Отдельно переводится целая часть числа, отдельно - дробная. Результаты складываются.

Пример. Выполнить перевод из десятичной системы счисления в шест-

надцатеричную числа 19,847. Перевод выполнять до трех значащих цифр после запятой. Представим исходное число как сумму целого числа и пра-

вильной дроби: 19,847 = 19 + 0,847.

Как следует из примера 3.2, 19 = 1316; а в соответствии с примером 3.9 0,847 = 0,D8D16. Тогда имеем: 19 + 0,847 = 1316 + 0,D8D16 = 13,D8D16.

Таким образом, 19,847 = 13,D8D16.