Системы Счисления (СС).

Люди использовали разные способы записи чисел. Римляне применяли 7 знаков для семи цифр:

 

I

V

X

L

C

D

M

1

5

10

50

100

500

1000

 

XXI                  10 + 10 + 1 = 21

MMXI               1000 + 1000 + 10 + 1 = 2011

При чтении числа они складывали цифры и получали результат

Для записи цифр, отсутствующих в алфавите применялось правило 2-х цифр:
    IX = 10 – 1 = 9,
    
MCMXCIX  = 1000 + (1000-100) + (100-10) + (10-1) = 1999
если перед большей цифрой стояла меньшая, то из большей нужно вычесть меньшую
(см. примеры).

При таком способе записи вес (величина) цифры не зависит от его положения в записи числа.

     III = 1+1+1 = 3

Это не позиционная СС.

 

Мы применяем другой способ записи
    111 = 1*100 + 1*10 + 1*1
величина цифры зависит от ее расположения в записи числа – позиционная СС.

О них и пойдет речь далее.

 

ПОЗИЦИОННЫЕ СИСТЕМЫ СЧИСЛЕНИЯ

Свойства СС:

  1. алфавит – набор символов для обозначения отдельных цифр
  2. основание – количество символов в алфавите
  3. правила выполнения арифметических действий в данной СС

Пример – десятичная СС:

­        алфавит: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9

­        основание = 10 (отсюда и название)

­        правила выполнения арифметических действий мы все знаем наизусть (7+8=15, 7*8=56, …)

Мы знаем алгоритмы выполнения действий столбиком. Они универсальны и применяются во всех СС.

Число можно разложить в числовой ряд – представить в виде суммы цифр с указанием их величины:
 1999 = 1*103 + 9*102 + 9*101 + 9*100

В 10-й СС каждое место (разряд) дорожает в 10 раз по сравнению с предыдущим при отсчете справа налево. Это зависит от основания СС.

СС, которой мы пользуемся (10-я), кажется естественной и единственной во вселенной ;). Но это не так. Есть множество СС с другим количеством цифр для записи чисел.

 

Двоичная СС

Алфавит: 0, 1

Основание = 2 (отсюда и название)

Правила выполнения арифметических действий нам придется учить.

Сложение

0 + 0 = 0

1 + 0 = 1

1 + 1 = 10 (0 единичек, 1 двойка или 1*21 + 0*20)

 

Составим таблицу перевода чисел из 10-й в 2-ю СС.

N10

N2

Разложение в числовой ряд

0

0

0 = 0*20    =      0

1

1

1 = 1*20    =      1

2

10

10 = 1*21 + 0*20    =      2

3

11

11 = 1*21 + 1*20    =      3

4

100

100 = 1*22 + 0*21 + 0*20    =      4

5

101

101 = 1*22 + 0*21 + 1*20    =      5

6

110

110 = 1*22 + 1*21 + 0*20    =      6

7

111

111 = 1*22 + 1*21 + 1*20    =      7

8

1000

1000 = 1*23 + 0*22 + 0*21 + 0*20    =      8

9

1001

1001 = 1*23 + 1*22 + 0*21 + 1*20    =      9

10

1010

1010 = 1*23 + 0*22 + 1*21 + 1*20    =    10

11

1011

1011 = 1*23 + 0*22 + 1*21 + 1*20    =    11

12

1100

1100 = 1*23 + 1*22 + 0*21 + 0*20    =    12

13

1101

1101 = 1*23 + 1*22 + 0*21 + 1*20    =    13

14

1110

1110 = 1*23 + 1*22 + 1*21 + 0*20    =    14

15

1111

1111 = 1*23 + 1*22 + 1*21 + 1*20    =    15

16

10000

10000 = 1*24 + 0*23 + 0*22 + 0*21 + 0*20    =    16

17

10001

10001 = 1*24 + 0*23 + 0*22 + 0*21 + 1*20    =    17

18

10010

10010 = 1*24 + 0*23 + 0*22 + 1*21 + 0*20    =    18

19

10011

10011 = 1*24 + 0*23 + 0*22 + 1*21 + 1*20    =    19

20

10100

10100 = 1*24 + 0*23 + 1*22 + 0*21 + 0*20    =    20

 

При счете получаем новое число путем прибавления 1 к предыдущему. Не забываем, что тут только цифры 0 и 1. Складываем столбиком :).

 + 1011

       1

1100

 

При желании можно продолжить таблицу до любого числа, например, 2011. Но это слишком длительный процесс ==> есть алгоритм перевода числа из 10-й в другие СС.

 

Алгоритм

Из 10-й - в другие СС

  1. Разделить число с остатком на новое основание
  2. Пока ЧАСТНОЕ не равно 0, повторять
    делить частное на новое основание с остатком (целочисленное деление)
  3. Переписать остатки, начиная с последнего (это ответ)

 

Пример 1

201110 = ?2                    = 111110110112

 

_2011

2

 

 

 

 

 

 

 

 

 

 

2010

_1005

2

 

 

 

 

 

 

 

 

 

1

1004

_502

2

 

 

 

 

 

 

 

 

 

1

502

_251

2

 

 

 

 

 

 

 

 

 

0

250

_125

2

 

 

 

 

 

 

 

 

 

1

124

_62

2

 

 

 

 

 

 

 

 

 

1

62

_31

2

 

 

 

 

 

 

 

 

 

0

30

_15

2

 

 

 

 

 

 

 

 

 

1

14

_7

2

 

 

 

 

 

 

 

 

 

1

6

_3

2

 

 

 

 

 

 

 

 

 

1

2

_1

2

 

 

 

 

 

 

 

 

 

1

0

0

 

 

 

 

 

 

 

 

 

 

1

 

 

Пример 2

2010 = ?2                       = 101002

 

_20

2

 

 

 

 

20

_10

2

 

 

 

0

10

_5

2

 

 

 

0

4

_2

2

 

 

 

1

2

_1

2

 

 

 

0

0

0

 

 

 

 

1

 

 

 

Восьмеричная СС

Алфавит: 0, 1, 2, 3, 4, 5, 6, 7

Основание = 8 (отсюда и название)

Правила выполнения арифметических действий нам придется учить.

Сложение

3 + 3 = 6

3 + 4 = 7

3 + 5 = 10 (0 единичек, 1 восьмерка или 1*81 + 0*80)

3 + 6 = 11 (1 единичка, 1 восьмерка или 1*81 + 1*80)

3 + 7 = 12 (2 единички, 1 восьмерка или 1*81 + 2*80)

 

Составим таблицу перевода чисел из 10-й в 8-ю СС.

N10

N8

Разложение в числовой ряд

0

0

0 = 0*80    =      0

1

1

1 = 1*80    =      1

2

2

2 = 2*80    =      2

3

3

3 = 3*80    =      3

4

4

4 = 4*80    =      4

5

5

5 = 5*80    =      5

6

6

6 = 6*80    =      6

7

7

7 = 7*80    =      7

8

10

10 = 1*81 + 0*80    =      8

9

11

11 = 1*81 + 1*80    =      9

10

12

12 = 1*81 + 2*80    =    10

11

13

13 = 1*81 + 3*80    =    11

12

14

14 = 1*81 + 4*80    =    12

13

15

15 = 1*81 + 5*80    =    13

14

16

16 = 1*81 + 6*80    =    14

15

17

17 = 1*81 + 7*80    =    15

16

20

20 = 2*81 + 0*80    =    16

17

21

21 = 2*81 + 1*80    =    17

18

22

22  = 2*81 + 2*80   =    18

19

23

23  = 2*81 + 3*80   =    19

20

24

24  = 2*81 + 4*80   =    20

 

При счете получаем новое число путем прибавления 1 к предыдущему. Не забываем, что тут только цифры от 0 до 7. Складываем столбиком.

 + 571

     21

612

 

 

Шестнадцатеричная СС

Алфавит: 0, 1, 2, 3, 4, 5, 6, 7,8, 9, A, B, C, D, E, F

Основание = 16 (отсюда и название)

Правила выполнения арифметических действий нам придется учить.

Сложение

2 + 7 = 9

2 + 8 = A

2 + 9 = B

2 + A = C

2 + B = D

2 + C = E

2 + D = F

2 + E = 10 (0 единичек, 1 шестнадцать или 1*161 + 0*160)

2 + F = 11 (1 единичка, 1 шестнадцать или 1*161 + 1*160)

A + F = 19 (9 единичек, 1 шестнадцать или 1*161 + 9*160)

 

Число читают - 15 раз шестнадцать и 10 единичек, или 15*161 + 10*160)

 

Составим таблицу перевода чисел из 10-й в 16-ю СС.

N10

N16

Разложение в числовой ряд

0

0

0 = 0*160    =      0

1

1

1 = 1*160    =      1

2

2

2 = 2*160    =      2

3

3

3 = 3*160    =      3

4

4

4 = 4*160    =      4

5

5

5 = 5*160    =      5

6

6

6 = 6*160    =      6

7

7

7 = 7*160    =      7

8

8

8 = 8*160    =      8

9

9

9 = 9*160    =      9

10

A

A = 10*160    =    10

11

B

B = 11*160    =    11

12

C

C = 12*160    =    12

13

D

D = 13*160    =    13

14

E

E = 14*160    =    14

15

F

F = 15*160    =    15

16

10

10 = 1*161 + 0*160    =    16

17

11

11 = 1*161 + 1*160    =    17

18

12

12 = 1*161 + 2*160    =    18

19

13

13 = 1*161 + 3*160    =    19

20

14

14 = 1*161 + 4*160    =    20

 

Еще пример:

ABBA16 = A*163 + B*162 + B*161 + A*160 = 10*163 + 11*162 + 11*161 + 10*160 = 4396210

При счете получаем новое число путем прибавления 1 к предыдущему. Не забываем, что тут цифры от 0 до F. Складываем столбиком.

 + 579

     2A

5A3

 

 

Есть алгоритмы перевода чисел из 2-й СС в СС с основанием, кратным 2n, где n = 1, 2, 3, 4, …

 

Алгоритм

 Из 2-й - в 8-ю (или 16-ю) систему счета

  1. Разбить число на группы цифр по 3 (или 4) справа налево
  2. Если в последней группе слева не хватает цифр – добавить впереди 0
  3. Записать каждую группу одной цифрой в новой СС (это ответ)

 

Пример: Из 2-й - в 8-ю

111110000010110101101112 = ?8                       = 370132678

Разбиваем на группы по 3 цифры, дописываем слева недостающий 0

011

111

000

001

011

010

110

111

 

3

7

0

1

3

2

6

7

<- это ответ

 

 

Пример: Из 2-й - в 16-ю

111110000010110101101112 = ?16          = 7C16B716

Разбиваем на группы по 4 цифры, дописываем слева недостающий 0

 

0111

1100

0001

0110

1011

0111

 

7

C

1

6

B

7

<- это ответ

 

Алгоритм

 Из 8 (или 16) - в 2-ю систему счета

  1. Записать каждую цифру группой из 3 (или 4) цифр в 2-й СС (это ответ)

 

Пример: Из 8-й - в 2-ю

30518 = ?2                     = 110001010012

Каждую цифру числа заменяем группой из 3 цифр в 2-й СС. Впереди стоящий 0 отбрасываем.

3

0

5

1

 

011

000

101

001

<- это ответ

 

 

Пример: Из 16-й - в 2-ю

A0F92116 = ?2               1010000011111001001000012

Каждую цифру числа заменяем группой из 4 цифр в 2-й СС

A

0

F

9

2

1

 

1010

0000

1111

1001

0010

0001

<- это ответ

 

mmx(c)2012