Кодирование информации.

Кодирование информации - это представление сведений в той или иной стандартной форме. Одни и те же сведения могут быть представлены, закодированы в нескольких разных формах.

С появлением компьютеров возникла необходимость кодирования (т. е. представления в формальном стандартном виде) всех видов информации, с которыми мы имеем дело.

Но решать задачу кодирования информации человечество начало задолго до появления компьютеров. Грандиозные достижения человечества - письменность и арифметика - есть не что иное, как системы кодирования речи и числовой информации.

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

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

Римская система счисления (непозиционная).

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

1 - I, 5 - V, 10 - X, 50 - L, 100 - C, 500 - D, 1000 - M, а остальные записываются комбинациями этих букв. Правила записи римских чисел:

1) Подряд можно записать не более трех одинаковых цифр.

2) Перед старшей цифрой может стоять не более одной младшей.

3) Если младшая цифра стоит перед старшей – ее вычитают, если после старшей – ее прибавляют.

Например,

2964 будет выглядеть так: MM CM LX IV

3746 так: MMM DCС XL VI

Запишем римское число MCDLXV десятичными цифрами:

Сначала определим количество тысяч: M – это тысяча. Теперь разберемся с сотнями: CD, младший разряд стоит перед старшим, значит, его вычитаем 500-100=400. Десятки: LX, младший разряд стоит после старшего, его прибавляем 50+10=60. В числе пять единиц. Итак, получилось число 1465.

НЕ нашли? Не то? Что вы ищете?

Десятичная позиционная система счисления.

Десятичная система пришла из Индии, где она появилась не позднее VI в. н. э.

В десятичной системе счисления всего десять цифр, но информацию несет не только цифра, но также и место, на котором она стоит. Особую роль играет число десять и его степени.

Любое n-значное число в десятичной системе счисления

N=

anan-1...a0

можно записать:

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

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

Любая позиционная система счисления связана со своим основанием.

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

Основание 4-ричной с. с. – 4, значит, в ней четыре цифр (0, 1, 2, 3). А базу системы счисления составляют степени числа 4.

В 8-ричной с. с.- 8 цифр (0..7), база системы - степени числа 8.

Самая большая цифра в Р-ричной с. с. равна (Р-1). Так, в троичной с. с., самая большая цифра -2, в шестеричной – 5, в восьмеричной -7, в десятичной - 9 и т. д.

ПРАВИЛО 1. Чтобы перевести число из десятичной с. с. в Р-ричную систему, нужно делить это число на Р, выписывая остатки до тех пор, пока в частном не получится 0, а затем записать все остатки в обратном порядке.

Например, переведем 4410®2 с. с.

Значит 4410=1011002

 


Переведем 10210®8 с. с.

Значит 10210=1468

 

Переведем 8710®5 с. с.

Значит 8710=3225

 

ПРАВИЛО 2. Чтобы перевести число из Р-ричной с. с. в десятичную, надо каждую цифру числа умножить на число Р (основание с. с.) в соответствующей степени (степень определяется количеством цифр, стоящих после данной).

Например,

=128+32+8+4+1=17310

=64+32+6=10210

=343+5=34810

Двоичная система счисления.

Вопреки распространенному заблуждению, двоичная система счисления была придумана не инженерами - конструкторами ЭВМ, а математиками и философами задолго до появления компьютеров, ещё в XVII - XIX вв. Великий немецкий ученый Лейбниц считал:

“Вычисление с помощью двоек... является для науки основным и порождает новые открытия... При сведении чисел к простейшим началам, каковы 0 и 1, везде появляется чудесный порядок”.

Позже двоичная система счисления была забыта и только в 1936-1938 гг. Американский инженер и математик Клод Шеннон нашел замечательные применения двоичной системы при кодировании электронных схем.

Разберемся с двоичной системой счисления на примерах.

Как узнать чему равно двоичное число N=101110101.

Составим таблицу из первых девяти степеней двойки и поместим в неё цифры нашего числа:

Десятичная позиционная система счисления.

Десятичная система пришла из Индии, где она появилась не позднее VI в. н. э.

В десятичной системе счисления всего десять цифр, но информацию несет не только цифра, но также и место, на котором она стоит. Особую роль играет число десять и его степени.

Любое n-значное число в десятичной системе счисления

N=

anan-1...a0

можно записать:

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

Двоичная и родственные с ней системы счисления.

Особую роль в информатике играет двоичная с. с., т. к. ЭВМ понимает только два состояния: высокое напряжение и низкое напряжение (одно из них соответствует 0, другое 1).

Основание двоичной с. с. – 2, значит в ней только две цифры: 0 и 1, а базу образуют степени двойки.

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

Восьмеричная система счисления.

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

Цифры восьмеричной системы счисления: 0,1, 2, 3, 4, 5, 6, 7.

Для того, чтобы перевести число из 10 с. с. в 8 с. с на до выполнять последовательное деление с остатком на 8, до тех пор, пока очередное частное не станет равно 0, затем снизу вверх выписываются все получившиеся остатки:

Значит, 19810=3068.

 

Для того, чтобы перевести число из 8 с. с. в 10 с. с. надо каждую цифру этого числа умножить на соответствующую степень 8, а полученные произведения сложить.

.

Упражнения.

1. Переведите в восьмеричную систему счисления числа 8,123, 1500, 64, 80. Какие из этих чисел было переводить легче всего? Почему?

2. Переведите из восьмеричной системы счисления в десятичную систему счисления числа 10, 342, 1005, 1000.

3. Продолжите ряд в восьмеричной системе счисления:
а) 33, 34, 35,..
б) 73, 74, 75,..

Связь восьмеричной и двоичной систем счисления.

Три двоичные цифры называются триадой.

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

Цифра

Триада

0

1

2

3

4

5

6

7

000

001

010

011

100

101

110

111

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

Например, 3048=011 000 1002=110001002

Правило 2. Для того чтобы перевести число из двоичной системы счисления в восьмеричную, надо разбить его на триады, начиная с конца (при необходимости первая триада дополняется нулями), затем каждую триаду нужно заменить соответствующей восьмеричной цифрой.

Например, 10010101112=001 001 010 1112=11278.

Упражнения.

1.  Переведите из восьмеричной системы счисления в двоичную систему числа 3290, 1365, 745.

2.  Переведите из двоичной системы счисления в восьмеричную числа 1010011, 1011, 10101010111.

3.  Выполните перевод по следующей цепочке:
а) 12310
®8с. с. ®2 с. с. ®10с. с.
б)43510
®2 с. с. ®8 с. с. ®10 с. с.

Шестнадцатеричная система счисления.

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

Цифры восьмеричной системы счисления: 0, 1, 2, 3, 4, 5, 6, 7, 8 , 9, A, B, C, D, E, F.

Переведем 268710 ® 16 с. с.

Подпись:

Значит, 268710=A7F16.

Самостоятельно выполните проверку.

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

Упражнения.

1.  Переведите в шестнадцатеричную систему счисления числа 256,1023, 3500, 16, 255. Какие из этих чисел было переводить легче всего? Почему?

2.  Переведите из шестнадцатеричной системы счисления в десятичную систему счисления числа 10, 252, 2569, 100.

3.  Продолжите ряд в шестнадцатеричной системе счисления:
а) 47, 48, 49,..
б) 197, 198, 199, ..

Связь шестнадцатеричной и двоичной систем счисления.

Четыре двоичные цифры называются тетрадой.

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

Цифра

Тетрада

Цифра

Тетрада

0

1

2

3

4

5

6

7

0000

0001

0010

0011

0100

0101

0110

0111

8

9

A

B

C

D

E

F

1000

1001

1010

1011

1100

1101

1110

1111

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

Например, 7A0D16=0111 1010 0000 11012=1111010000011012

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

Например, 111110101012=0111 1101 01012=7D516.

Упражнения.

1.  Переведите из шестнадцатеричной системы счисления в двоичную систему числа 4A0F, 5EE, 1C6.

2.  Переведите из двоичной системы счисления в шестнадцатеричную числа 110110, 10100011, 1011011, 10111101010111.

3.  Переведите из 8 с. с. в 16 с. с. числа: 123, 100, 12.

4.  Переведите из 16 с. с. в 8 с. с. числа А12, ВF1, 78AD.

Рассмотрим еще два упражнения.

Давайте выполним цепочку переводов: 12310®8с. с. ®2 с. с. ®16 с. с ®10с. с.

1) Переведем десятичное число 123 в восьмеричную с. с. Надо выполнять деление на 8, выписывая остатки до тех пор, пока в частном не получится 0, а затем записать остатки в обратном порядке:

Значит, 12310=1738

 

2) Переведем 1738 в 2 с. с. Заменим каждую цифру соответствующей триадой, а первые незначащие 0 отбросим: 1738=001 111 0112=11110112

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

11110112=0111 10112=7B16

4) Переведем 7B16 в десятичную с. с., для этого умножим каждую цифру на соответствующую степень 16

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

Давайте выполним цепочку переводов: 43510®16 с. с. ®2 с. с. ®8 с. с. ®10 с. с.

1) Переведем 43510 в шестнадцатеричную с. с. Для этого надо выполнять деление на 16, выписывая остатки; до тех пор, пока в частном не получится 0, а затем записать все остатки в обратном порядке:

Значит, 43510=1B316

 

2) Переведем 1B316 в двоичную с. с. Заменим каждую цифру соответствующей тетрадой, первые незначащие 0 можно откинуть: 1B316=0001 1011 00112=1101100112.

3) Переведем 1101100112 в восьмеричную с. с. Разобьем число на триады, начиная с конца, первую при необходимости дополним нулями и заменим каждую триаду соответствующей восьмеричной цифрой: 1101100112=110 110 0112=6638.

4) Переведем 6638 в десятичную с. с. Для этого каждую цифру числа умножим на соответствующую степень 8: . Число совпало с исходным, значит, все переводы выполнены правильно.

Сложение и вычитание в позиционных с. с.

Числа в позиционных с. с. складывают поразрядно в столбик.

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

Найдем сумму 111100112+11010012=1010111002

+1

+1

+1

+1

1

1

1

1

0

0

1

1

+

1

1

0

1

0

0

1

1

0

1

0

1

1

1

0

0

Найдем сумму 13445+2315=21305

+1

+1

+1

1

3

4

4

+

2

3

1

2

1

3

0

Найдем сумму 25728+34158=62078

+1

+1

2

5

7

2

+

3

4

1

5

6

2

0

7

Найдем сумму 879A16+38E316=C07D16

+1

+1

8

7

9

A

+

3

8

E

3

C

0

7

D


Числа в позиционных с. с. вычитают поразрядно в столбик.

Если при вычитании (в р-ричной с. с.) необходимо занять разряд, то мы занимаем Р. Если занимали через 0, то на его месте остается самая большая в этой с. с. цифра (Р-1).

Найдем разность 101001002-10010112=10110012

·

·

·

·

·

1

0

1

0

0

1

0

0

-

1

0

0

1

0

1

1

1

0

1

1

0

0

1

Найдем разность 40126-3516=32216

·

·

4

0

1

2

-

3

5

1

3

2

2

1

Найдем разность 21038-15478=3348

·

·

·

2

1

0

3

-

1

5

4

7

3

3

4

Найдем разность 210316-1A5E16=6A516

·

·

·

2

1

0

3

-

1

A

5

E

6

A

5

Упражнения по всей теме:

1.  Переведите числа из 10 с. с. в другие с. с.
12310
à2 с. с.; 4510à5 с. с.; 9910à8 с. с. 30010à16 с. с.

2.  Переведите числа в десятичную с. с.
3014
à10 с. с; A0F16à10 с. с; 2738à10 с. с.

3.  Выполните цепочку переводов:
18510
à16 с. сà2 с. сà8 с. сà10 с. с

4.  Расположите числа в порядке возрастания:
3034; 768 ; B316 ; 10111012 ; 1435

5.  Выполните действия. Ответ получите в заданной с. с.:
а) найдите результат в двоичной с. с.:
10110012+4638=?2;
B5216-2678=?2;
б) найдите результат в восьмеричной с. с.:
3768+110011112=?8; 4568-
C616=?8;
в) найдите результат в шестнадцатеричной с. с:
FB616+101110112=?16; E10316-6548=?16.

6.  У меня 100 братьев. Младшему 1000 лет, а старшему 1111 лет. Старший брат учится в 1001 классе. Может ли такое быть?

7.  Продолжите ряды в заданных системах счисления:
а) 2 с. с. 100, 101, 110,…б) 8 с. с. 274, 275,…
в) 16 с. с. 196, 197, 198,…