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

В предыдущем параграфе мы говорили о числовых множествах. Теперь рассмотрим способы записи чисел. Числа записываются при помощи цифр. Слово «цифра» происходит от арабского «цифр» – пустое место. Вплоть до XVIII века наш нуль назывался «цифрой», а в английском языке до сих пор одно из значений слова «цифра» (cipher) – нуль.

Система счисления (СС) – это совокупность приемов и правил, по которым числа записываются и читаются.
Существуют позиционные и непозиционные системы счисления.
В непозиционных системах счисления вес цифры (т. е. тот вклад, который она вносит в значение числа) не зависит от ее позиции в записи числа. Так, в римской системе счисления в числе ХХХII (тридцать два) вес цифры Х в любой позиции равен просто десяти.
В позиционных системах счисления вес каждой цифры изменяется в зависимости от ее положения (позиции) в последовательности цифр, изображающих число. Например, в числе 757,7 первая семерка означает 7 сотен, вторая – 7 единиц, а третья – 7 десятых долей единицы.
Сама же запись числа 757,7 означает сокращенную запись выражения
700 + 50 + 7 + 0,7 = 7 · 102 + 5 · 101 + 7 · 100 + 7 · 10-1 = 757,7.
Любая позиционная система счисления характеризуется своим основанием. Основание позиционной системы счисления – количество различных цифр, используемых для изображения чисел в данной системе счисления.
За основание системы можно принять любое натуральное число – два, три, четыре и т.д. Следовательно, возможно бесчисленное множество позиционных систем: двоичная, троичная, четверичная и т.д. Запись чисел в каждой из систем счисления с основанием  q  означает сокращенную запись выражения
an-1 qn-1 + an-2 qn-2 + ... + a1 q1 + a0 q0 + a-1 q-1 + ... + a-m q-m,
где  ai  – цифры системы счисления;   n и m – число целых и дробных разрядов, соответственно.
Например:

Разряды

3 2 1 0 -1


 

Число

1 0 1 1,12 =

1·23+0·22+1·21+1·20+1·2-1

Разряды

2 1 0 -1 -2


 

Число

2 7 6, 5 28 =

2·82+7·81+6·80+5·8-1+2·8-2

   Кроме десятичной широко используются системы с основанием, являющимся целой степенью числа 2, а именно:
-двоичная (используются цифры 0, 1);
-восьмеричная (используются цифры 0, 1, ..., 7);
-шестнадцатеричная (для первых целых чисел от нуля до девяти используются цифры 0, 1, ..., 9, а для следующих чисел – от десяти до пятнадцати – в качестве цифр используются символы A, B, C, D, E, F).

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

Представление чисел в различных системах счисления

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

17

10001

21

11

18

10010

22

12

19

10011

23

13


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

Недостаток двоичной системы – быстрый рост числа разрядов, необходимых для записи чисел.
Двоичная система, удобная для компьютеров, для человека неудобна из-за ее громоздкости и непривычной записи.
Перевод чисел из десятичной системы в двоичную и наоборот выполняет машина. Однако, чтобы профессионально использовать компьютер, следует научиться понимать слово машины. Для этого и разработаны восьмеричная и шестнадцатеричная системы.

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

Чтобы перевести число из двоичной системы в восьмеричную или шестнадцатеричную, его нужно разбить влево и вправо от запятой на триады (для восьмеричной) или тетрады (для шестнадцатеричной) и каждую такую группу заменить соответствующей восьмеричной (шестнадцатеричной) цифрой.
Для перевода целого десятичного числа N в систему счисления с основанием q необходимо N разделить с остатком («нацело») на q, записанное в той же десятичной системе. Затем неполное частное, полученное от такого деления, нужно снова разделить с остатком на q, и т.д., пока последнее полученное неполное частное не станет равным нулю. Представлением числа N в новой системе счисления будет последовательность остатков деления, изображенных одной q-ичной цифрой и записанных в порядке, обратном порядку их получения.

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


 


 


 

75

2
 

 

 

 

 

6

37 2
 

 

 

 

15

36 18 2
 

 

 

14

1

18 9 2
 

 

1


 

0

8 4 2
 


 


 

 

1

4 2 2


 


 

 

 

0

2

1


 


 

 

 

 

0


 

75

8
 

 

 

72

9 8
 

 

3

8

1


 

 


 

1


 

 

 


 


 


 


 

 


 


 

 

 

 


 


 

 

 

 


 


 

 

 

 


 

75

16
 

 

 

64

4


 

 

(B16)

11


 

 

 

 


 


 


 

 

Напоминание: первый остаток 1116 в этом примере записывается шестнадцатеричной цифрой B16.

Ответ: 7510 = 1 001 0112 = 1138 = 4B16.

Перевод в десятичную систему числа x, записанного в q-ичной cистеме счисления (q=2,8 или 16) в виде
xq=(anan-1...a0 ,a-1a-2...a-m)q
сводится к вычислению значения многочлена
x10=an qn + an-1 qn-1 + ...+ a0 q0 + a-1 q-1+ a-2 q-2+...+ a-m q-m
средствами десятичной арифметики.

Рассмотрим, к примеру, тринадцатеричную систему счисления.
Для этого нам нужно оговорить способы записи чисел, цифры, данной системы счисления. Первые десять чисел позаимствуем у привычной десятичной системы счисления – {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}. Нам нужно еще три цифры. Договоримся, что если двузначные числа 10, 11 и 12 будут стоять в скобках, то будем их воспринимать как цифры. Итак, запишем все тринадцать цифр тринадцатеричной системы счисления:
{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, (10), (11), (12)}.
Также мы могли обозначить нововведенные цифры латинскими буквами, как у шестнадцатеричной системы счисления {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C}. Суть от этого не меняется.

Вопросы для самоконтроля:
1. Что называют основанием системы счисления?
2. Какое наименьшее количество цифр может быть в системе счисления?
3. Запишите цифры шестеричной системы счисления.
4. Приведите примеры чисел непозиционной системы счисления.
5. При переводе числа из десятичной системы в q-ичную до каких пор нужно делить десятичное число на основание q?