Тема 3. Кодирование числовой информации.
Система счисления - это система знаков, служащих для изображения чисел и подчиняющихся определенным правилам действия над ними. Система счисления - это способ записи чисел с помощью набора цифр. Системы счисления бывают позиционные и непозиционные.
Непозиционные системы счисления - это системы счисления, в которых величина. обозначаемая цифрой в записи числа, НЕ зависит от ее позиции. Например, римская система счисления: VI, IV; цифра V - и на первом и на втором месте обозначает 5. Величина числа в непозиционной системе счисления определяется как сумма или разность цифр в числе. Основной недостаток непозиционных систем счисления - это неоднозначность записи числа, например: число 8 можно записать как VIII или IIX.
Алфавит римской системы счисления: I - 1, V - 5, X - 10, L - 50, C - 100, D - 500, M - 1000.
Позиционные системы счисления - это системы счисления, в которых величина, обозначаемая цифрой в записи числа, зависит от ее позиции. Например, десятичная система счисления: 54 и 15 - цифра 5 на первом месте обозначает 50 (5 десятков), а на втором - 5 (5 единиц).
Алфавит системы счисления - это набор символов, используемых для изображения цифр (начиная с нуля). Основание позиционной системы счисления - количество цифр в ее алфавите.
| Основание | Система счисления |
Алфавит |
|---|---|---|
| n = 10 |
Десятичная | 0 1 2 3 4 5 6 7 8 9 |
| n = 2 |
Двоичная | 0 1 |
| n = 5 |
Пятеричная | 0 1 2 3 4 |
| n = 8 |
Восьмеричная | 0 1 2 3 4 5 6 7 |
| n = 16 |
Шестнадцатеричная | 0 1 2 3 4 5 6 7 8 9 A B C D E F |
| n = 13 |
Тринадцатеричная | 0 1 2 3 4 5 6 7 8 9 A B C |
Примечание. В системах счисления с основанием, большим 10, после цифры 9 начинают следовать буквы латинского алфавита, а затем и другие символы. В таблице ниже представлена таблица соответствия чисел между основными позиционными системами счисления.
Таблица 1. Таблица соответствия между позиционными системами счисления.
| Двоичное число |
Десятичное число |
Шестнадцатеричное число |
|---|---|---|
| 0 | 0 |
0 |
| 1 | 1 | 1 |
| 10 | 2 | 2 |
| 11 | 3 | 3 |
| 100 | 4 | 4 |
| 101 | 5 | 5 |
| 110 | 6 | 6 |
| 111 | 7 | 7 |
| 1000 | 8 | 8 |
| 1001 | 9 | 9 |
| 1010 | 10 | A |
| 1011 | 11 | B |
| 1100 | 12 | C |
| 1101 | 13 | D |
| 1110 | 14 | E |
| 1111 | 15 | F |
Перевод между системами счисления
Любое десятичное число можно записать в виде суммы произведений цифр числа на соответствующую степень 10 (основания десятичной системы счисления).
Алгоритм перевода целых чисел из систем счисления с произвольным основанием в десятичную систему счисления:
1) расставить индексы: над разрядом единиц поставить 0 и пронумеровать остальные разряды справа налево;
2) записать сумму произведений каждой цифры числа на основание, степенью которого служит соответствующий индекс;
3) заменить буквы соответствующими числами (если в записи числа присутствуют буквы);
4) выполнить арифметические действия и записать ответ.
Например:
1001012 = 1*25 + 0*24 + 0*23 + 1*22 + 0*21 + 1*20 = 32 + 4 + 1 = 3710. То есть число 100101 записанное в двоичной системе счисления равно 37 в десятичной системе счисления.
Алгоритм перевода целых чисел из десятичной системы счисления в систему счисления с произвольным основанием:
1) заданное число делим нацело (в столбик) на основание той системы счисления, в которую переводим;
2) полученное частное снова делим нацело на основание;
3) продолжаем до тех пор, пока частное не станет меньше основания системы счисления, в которую переводим;
4) если остаток превосходит цифру 9, то заменить его на соответствующую букву;
5) выписать последнее частное и за ним все остатки, начиная с последнего. Полученное число и будет искомым.
Важно. Все вышесказанное можно представить с помощью простой таблицы.Если сложить степени двойки находящиеся под значащими единицами в записи двоичного числа, то мы получим число в десятичной системе счисления. Представленное двоичное число равно числу 37 в десятичной системе счисления.
| 0 |
0 | 1 | 0 | 0 | 1 | 0 | 1 |
|---|---|---|---|---|---|---|---|
| 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 |
| 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
Аналогично можно произвести перевод между шестнадцатеричной и десятичной системами счисления. Если сложить степени шестнадцати находящиеся под записью шестнадцатеричного числа, то мы получим число в десятичной системе счисления. Представленное 16-ричное число равно числу 4369 в десятичной системе счисления.
| A |
A |
F |
3 |
|---|---|---|---|
| 163 | 162 | 161 | 160 |
| 4096 |
256 |
16 | 1 |
Алгоритм перевода из двоичной системы счисления в шестнадцатеричную систему счисления
1) разбить двоичное число на группы по четыре цифры, начиная с крайнего правого разряда (добавив слева нужное количество незначащих нулей);
2) перевести каждую группу из 4 цифр в шестнадцатеричную систему счисления (см. Таблицу 1). Полученная последовательность цифр и будет искомым числом.
Примечание. Обратный перевод осуществляется в соответствии с тем же алгоритмом.
Например:
FF316 = F16 F16 316 = 11112 11112 0011 2 = 111111110011 2
01010101012 = 0001 0101 01012 = 116 516 516 = 15516
Алгоритм перевода из двоичной системы счисления в восьмеричную систему счисления
1) разбить двоичное число на группы по три цифры, начиная с крайнего правого разряда (добавив слева нужное количество незначащих нулей);
2) перевести каждую группу из 3 цифр в восьмеричную систему счисления (см. Таблицу 1). Полученная последовательность цифр и будет искомым числом.
Примечание. Обратный перевод осуществляется в соответствии с тем же алгоритмом.
Например:
1758 = 18 78 58 = 0012 1112 1012 = 0011111012
01010101012 = 0002 1012 0102 1012 = 08 58 28 58 = 5258