Кодирование информации.
Кодирование информации - это представление сведений в той или иной стандартной форме. Одни и те же сведения могут быть представлены, закодированы в нескольких разных формах.
С появлением компьютеров возникла необходимость кодирования (т. е. представления в формальном стандартном виде) всех видов информации, с которыми мы имеем дело.
Но решать задачу кодирования информации человечество начало задолго до появления компьютеров. Грандиозные достижения человечества - письменность и арифметика - есть не что иное, как системы кодирования речи и числовой информации.
Системы счисления.
Системы счисления бывают позиционными и непозиционными. В позиционных с. с. значение цифры зависит от места в числе, а в непозиционных цифра всегда имеет одно и то же значение, независимо от места в числе.
Римская система счисления (непозиционная).
В римской системе счисления семь чисел обозначаются буквами:
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 с. с.
|

Переведем 10210®8 с. с.
|
Переведем 8710®5 с. с.
|
ПРАВИЛО 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, затем снизу вверх выписываются все получившиеся остатки:
|
Для того, чтобы перевести число из 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, а затем записать остатки в обратном порядке:
|
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, а затем записать все остатки в обратном порядке:
|
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,…


