Представление информации в цифровых автоматах. Понятие кодирования. Алфавит. Позиционные системы счисления. Преобразование целых неотрицательных чисел из одной системы счисления в другую.

В процессе переработки информации цифровые ЭВМ - компьютеры, оперируют числами, которые представляются в некоторой системе счисления.

Система счисления - это совокупность приемов и правил для записи чисел цифровыми знаками. Запись числа в некоторой системе счисления часто называют кодом числа.

Элементы (символы) алфавита, которые используются для записи чисел в некоторой системе счисления, принято называть цифрами. Каждой цифре данного числа однозначно сопоставляется ее количественный (числовой) эквивалент.
Алфавит — это множество (как правило конечное) символов или букв, например латинских букв и цифр. Примером распространённого алфавита является двоичный алфавит {0,1}. Конечная строка — это конечная последовательность букв алфавита. Например, двоичная строка — это строка из символов алфавита {0,1}. Также возможно построение бесконечных последовательностей из букв алфавита.
Позиционная система счисления (позиционная нумерация) — система счисления, в которой значение каждого числового знака (цифры) в записи числа зависит от его позиции (разряда). Наиболее известной позиционной системой счисления является десятичная система счисления. Например, в десятичном числе 555 первая цифра справа означает 5 единиц, соседняя с ней - 5 десятков, а левая - 5 сотен.
Преобразование целых чисел
Для перевода необходимо исходное число разделить на основание новой системы счисления до получения целого остатка, который является младшим разрядом числа в новой системе счисления (единицы). Полученное частное снова делим на основание системы и так до тех пор, пока частное не станет меньше основания новой системы счисления. Все операции выполняются в исходной системе счисления.
Рассмотрим для примера перевод числа из десятичной системы счисления в двоичную систему счисления.
Возьмём десятичное число А10 = 124 и поделим его на основание двоичной системы, то есть число 2. Деление будем производить уголком:

В результате первого деления получим разряд единиц (самый младший разряд). В результате второго деления получим разряд двоек. Деление продолжаем, пока результат деления больше двух. В конце операции преобразования мы получили двоичное число 11111002.
Теперь то же самое число переведём в восьмеричную систему счисления. Для этого число 12410 разделим на число 8:

Как мы видим, остаток от первого деления равен 4. То есть младший разряд восьмеричного числа содержит цифру 4. Остаток от второго деления равен 7. то есть второй разряд восьмеричного числа – это цифра 7. Старший разряд получился равным 1. То есть в результате многократного деления мы получили восьмеричное число 1748.
Проверим, не ошиблись ли мы в процессе преобразования? Для этого преобразуем получившееся двоичное число в десятичную систему по обычной формуле разложения:
 1×82+7×81+4×80=6410+5610+410=124
;А можно ли осуществить перевод из восьмеричной системы счисления в двоичную делением? Можно! Но деление нужно произвести по правилам восьмеричной арифметики. Правила работы в восьмеричной системе счисления мы рассмотрим в следующей главе. Тем не менее, для полноты материала, рассмотрим пример перевода в двоичную форму полученного ранее восьмеричного числа 1748. Разделим его на основание новой системы счисления 2.

Как мы убедились выполнять деление в восьмеричной системе очень неудобно, ведь подсознательно мы делим в десятичной системе счисления. Давайте обратим внимание на то, что число 8 является степенью числа 2. То есть можно считать восьмеричную систему счисления просто более короткой записью двоичного числа. Это означает, что для представления восьмеричной цифры можно использовать три двоичных бита (8=23). Давайте составим таблицу соответствия. Она приведена в таблице 1.
Таблица 1. Таблица соответствия восьмеричных цифр и двоичного кода
Двоичный код
Восьмеричная цифра
Десятичный эквивалент
000
0
0
001
1
1
010
2
2
011
3
3
100
4
4
101
5
5
110
6
6
111
7
7
Используя эту таблицу можно просто заменить каждую восьмеричную цифру тремя двоичными битами. Три двоичных бита обычно называют триадой или трибитом. Теперь давайте переведём восьмеричное число 1748 в двоичную форму при помощи таблицы 7:


Аналогично можно выполнить перевод числа из двоичной системы в восьмеричную. Для этого двоичное число разбивают на триады относительно крайнего правого разряда (или двоичной запятой) и, используя таблицу 7, каждой триаде ставят в соответствие восьмеричную цифру.
Аналогичным образом можно выполнить перевод числа из шестнадцатеричной формы в двоичную и обратно. В этом случае для представления шестнадцатеричной цифры потребуется четыре двоичных разряда. Четыре двоичных разряда обычно называют тетрадой. Иногда при переводе иностранных книг используется термин нибл.
Давайте составим таблицу соответствия двоичных тетрад и шестнадцатеричных цифр. Для этого мы будем просто прибавлять единицу к значению предыдущей строки в каждом столбце таблицы, в соответствии с используемой в этом столбце системой счисления. Результат приведён в таблице 2.
В качестве примера использования таблицы 2 переведем шестнадцатеричное число 7С16 в двоичную форму представления:

Таблица 2. Таблица соответствия шестнадцатеричных цифр и двоичного кода
Двоичный код
Восьмеричная цифра
Десятичный эквивалент
0000
0
0
0001
1
1
0010
2
2
0011
3
3
0100
4
4
0101
5
5
0110
6
6
0111
7
7
1000
8
8
1001
9
9
1010
a
a
1011
b
b
1100
c
c
1101
d
d
1110
e
e
1111
f
f
Пример преобразования двоичного числа в восьмеричную и шестнадцатеричную форму приведён на рисунке 1.

Рисунок 1. Пример преобразования двоичного числа в восьмеричную и шестнадцатеричную форму.
На этом рисунке внизу выделены двоичные тетрады и соответствующие им шестнадцатеричные цифры. Их соответствие можно проверить при помощи таблицы 2. Сверху выделены триады и соответствующие им восьмеричные цифры. Старшая триада получилась неполной. Её нужно дополнить старшими незначащими нулями для того, чтобы можно было бы воспользоваться таблицей 1.

Вопрос 5 (Представление информации в цифровых автоматах. Понятие кодирования. Алфавит. Позиционные системы счисления. Преобразование целых неотрицательных чисел из одной системы счисления в другую.)

ЦА представляет собой последовательностную схему и служит  для  обработки дискретной информации.

В процессе переработки информации цифровые ЭВМ - компьютеры, оперируют числами, которые представляются в некоторой системе счисления.

Система счисления - это совокупность приемов и правил для записи чисел цифровыми знаками. Запись числа в некоторой системе счисления часто называют кодом числа.

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

Позиционная система счисления - это система, в которой значение каждой цифры зависит от ее числового эквивалента и от ее места (позиции) в числе, т.е. один и тот же символ (цифра) может принимать различные значения.
Наиболее известной позиционной системой счисления является десятичная система счисления. Например, в десятичном числе 555 первая цифра справа означает 5 единиц, соседняя с ней - 5 десятков, а левая - 5 сотен.


Кодирование
Закодировать текст – значит сопоставить ему другой текст. Кодирование применяется при передаче данных – для того, чтобы зашифровать текст от посторонних, чтобы сделать передачу данных более надежной, потому что канал передачи данных может передавать только ограниченный набор символов (например, - только два символа, 0 и 1) и по другим причинам.
При кодировании заранее определяют алфавит, в котором записаны исходные тексты (исходный алфавит) и алфавит, в котором записаны закодированные тексты (коды), этот алфавит называется кодовым алфавитом. В качестве кодового алфавита часто используют двоичный алфавит, состоящий из двух символов (битов) 0 и 1. Слова в двоичном алфавите иногда называют битовыми последовательностями.

Алфавит — это множество символов или букв, например латинских букв и цифр. Примером распространённого алфавита является двоичный алфавит {0,1}.
Основные символы языка — буквы, цифры и специальные символы — составляют его алфавит. Обычно язык программирования включает следующий набор основных символов:
1.      строчные и прописные буквы латинского и национального алфавитов
2.      цифры
3.      знаки операций: + — * / = < : @ & |
4.      символ подчеркивания _ и пробела
5.      ограничители и разделители: . , ' ( ) [ ] { }
6.      специальные символы: ^ # $ и др.

С помощью символов алфавита записываются служебные слова, которые составляют словарь языка.