Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Позиционные системы счисления.docx
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
127.43 Кб
Скачать

1. Позиционные системы счисления

1.1. Основные положения

Позиционная система счисления – система счисления, в которой одна и та же цифра в записи числа несет различные значения в зависимости от того места (разряда), где она расположена. Изобретение позиционной нумерации, основанной на поместном значении цифр, приписывается шумерам и вавилонянам.Дополненная «арабскими» цифрами она добралась до Европыоколо X-го века.

Когда современный человек пишет число 2358, он имеет в виду 2 «тысячи» 3 «ста (сотни)» 5 «десят (десятков)» 8, то есть соблюдает порядок в этой записи. Всякое нарушение порядка записи искажает восприятие значения числа.

Каждая позиционная система счисления определяется некоторым числом b > 1 (т.н. основание системы счисления) таким, что b единиц в каждом разряде объединяется в одну единицу следующего по старшинству разряда. Подобные системы принято называть b-ричными.

Число x в b-ричной системе счисления представляется в виде линейной комбинации степеней числа b: , где – это целые числа, называемые цифрами, удовлетворяющие неравенству , k– порядковый номер разряда (начиная с нулевого), n– число разрядов.

Каждая степень в такой записи называется разрядом, старшинство разрядов и соответствующих им цифр определяется значением показателя k. Обычно для ненулевого числа x требуют, чтобы старшая цифра в b-ричном представлении x была также ненулевой.

Если не возникает разночтений (например, когда все цифры представляются в виде уникальных письменных знаков), число x записывают в виде последовательности его b-ричных цифр, перечисляемых по убыванию старшинства разрядов слева направо: .

Например, число сто три представляется в десятичной системе счисления в виде: .

1.2. Классификация позиционных систем счисления

Позиционные системы счисления принято делить на следующие три класса:

  1. Системы с целочисленным основанием:

    1. 1– единичная (унарная) система счисления, простейшая из позиционных систем счисления;

    2. 2–двоичная (применяется в дискретной математике, информатике и программировании);

    3. 3– троичная система счисления;

    4. 8–восьмеричная (применяется в программировании);

    5. 10– десятичная система счисления;

    6. 12–двенадцатеричная (широко использовалась в древности, в некоторых областях используется и сейчас);

    7. 16–шестнадцатеричная (наиболее распространена в программировании, а также в шрифтах);

    8. 40–сорокаичная система счисления (применялась в древности ("сорок сороков = 1600"));

    9. 60–шестидесятеричная (применяется при измерении углов и, в частности, долготы и широты);

  2. Системы с отрицательным основанием (нега-позиционные):

    1. -2–нега-двоичная система счисления;

    2. -10– нега-десятичная система счисления;

  3. Системы с нецелочисленным основанием:

    1. 2,71… = e – e-ричная система счисления с основанием, равным числу Эйлера (применяется в натуральных логарифмах).

1.3. Преобразование чисел

Обычно возникает необходимость в преобразовании привычного для нас десятичного числа в систему с другим основанием и обратно – задача не слишком сложная, но иногда трудоемкая и скучная, требующая держать в памяти значения степеней для оснований:

b

k=2

k=3

k=4

k=5

k=6

k=7

k=8

k=9

k=10

k=12

2

4

8

16

32

64

128

256

512

1024

4096

8

64

512

4096

32768

16

256

4096

65536

Запись произвольного числа x в b-ричной позиционной системе счисления основывается на представлении этого числа в виде многочлена .

При переводе чисел из десятичной системы счисления в систему с основанием b > 1 обычно используют следующий алгоритм:

1) если переводится целая часть числа, то она делится на b, после этого запоминается остаток от деления. Полученное частное вновь делится на b, остаток запоминается. Процедура продолжается до тех пор, пока частное не станет равным нулю. Остатки от деления на b выписываются в порядке, обратном их получению;

458

8

2

57

8

458=7128

1

7

2) если переводится дробная часть числа, то она умножается на b, затем целая часть запоминается и отбрасывается, вновь полученная дробная часть умножается на b и т.д. Процедура продолжается до тех пор, пока дробная часть не станет равной нулю. Целые части выписываются после двоичной запятой в порядке их получения. Результатом может быть либо конечная, либо периодическая двоичная дробь. Поэтому, когда дробь является периодической, приходится обрывать умножение на каком-либо шаге и довольствоваться приближенной записью исходного числа в системе с основанием b.

0.1

8

=0.8

8

=6.4

8

=3.2

8

=1.6

8

=4.8

...

0.1

16

=1.6

16

=9.6

16

=9.6

16

=9.6

...

0.125

2

=0.25

2

=0.5

2

=1.0

0.1(10)≈0.063146314…(8)

0.1(10)≈0.1999999…(16)

0.125(10)=0.001(2)

Если необходимо перевести число из двоичной системы счисления в систему счисления, основанием которой является степень двойки, достаточно объединить цифры двоичного числа в группы по столько цифр, каков показатель степени, и использовать приведенный алгоритм. Например, если перевод осуществляется в восьмеричную систему, то группы будут содержать три цифры (8 = 23). В целой части будем производить группировку справа налево, в дробной – слева направо.Если в последней группе недостает цифр, дописываем нули: в целой части – слева, в дробной – справа. Затем группы заменяется соответствующими цифрами новой системы. Соответствия приведены в таблицах.

b

2

00

01

10

11

4

0

1

2

3

b

2

000

001

010

011

100

101

110

111

8

0

1

2

3

4

5

6

7

b

2

0000

0001

0010

0011

0100

0101

0110

0111

16

0

1

2

3

4

5

6

7

b

2

1000

1001

1010

1011

1100

1101

1110

1111

16

8

9

A

B

C

D

E

F

Пример.Переведем из двоичной системы в шестнадцатеричную число 1111010101,11(2).

001111010101,1100(2) = 3D5,C(16)

При переводе чисел из системы счисления с основанием b в десятичную систему счисления необходимо пронумеровать разряды целой части справа налево, начиная с нулевого, и в дробной части, начиная с разряда сразу после запятой слева направо (начальный номер -1). Затем вычислить сумму произведений соответствующих значений разрядов на основание системы счисления в степени, равной номеру разряда. Это и есть представление исходного числа в десятичной системе счисления.

Примеры решения задач

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

1000001(2)=1∙26+0∙25+0∙24+0∙23+0∙22+0∙21+1∙20 = 64+1=65(10)

1000011111,0101(2) =1∙29+1∙24+1∙23+1∙22+1∙21+1∙20+1∙2-2+1∙2-4 = 512+16+8+4+2+1+0,25+0,0625 = 543,3125(10)

1216,04(8)=1∙83+2∙82+1∙81+6∙80+4∙8-2 = 512+128+8+6+0,0625 = 654,0625(10)

Замечание. Очевидно, что если в каком-либо разряде стоит ноль, то соответствующее слагаемое можно опускать.