Тема 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). Полученная последовательность цифр и будет искомым числом.

Примечание. Обратный перевод осуществляется в соответствии с тем же алгоритмом.

Например:

FF316F16 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




Last modified: Saturday, 23 September 2023, 3:20 PM