Кодирование текстов
29, 125
Кодирование действительных чисел
Запись действительного числа в двоич-ной форме выполняется в несколько этапов. Рассмотрим для примера запись числа 29,125.
1. Сначала число преобразуется в двоичную форму. При этом целая и дробная части преобразуются порознь, а потом объединяются.
2910=111012 |
0,12510 =0,0012
Для перевода чисел из системы исчисления с основой p в систему исчисления с основой q с использованием арифметики старой системы исчисления с основой p нужно:
· для перевода целой части:
последовательно число, записанное в системе основой делить на основу новой системы исчисления, выделяя остатки. Последние записанные в обратном порядке, будут образовывать число в новой системе исчисления;
· для перевода дробной части:
последовательно дробную часть умножать на основу новой системы исчисления, выделяя целые части, которые и будут образовывать запись дробной части числа в новой системе исчисления.
На втором этапе двоичное число нормализуется. Нормализация состоит в смещении дробной запятой влево или вправо, чтобы в целой части стояла единица. Тот факт, что при этом изменяется значение числа, компенсируется его умножением на 2N, где N -количество разрядов смещения. При смещении вправо (число увеличивается) значение N отрицательно. При смещении влево (число уменьшается) значение N положительно. После нормализации раздельно рассматривают мантиссучисла и его характеристику(её также называют порядком).Как мантисса, так и порядок могут быть записаны целым числом со знаком. Причём порядок может быть записан одним байтом. У мантиссы же есть характерное свойство --её целая часть всегда равна единице. Эту единицу можно не записывать (но при воспроизведении числа о ней придётся вспомнить). Дробную часть мантиссы можно записать последовательностью битов. Чем больше битов будет использовано, тем точнее получится запись.
11101, 001 =1,1101001*24 |
3. Записываем действительное число по правилам двоичной дополнительной арифметики. Первый байт последовательности выражает порядок со знаком. Его старший бит указывает на знак порядка. Следующие байты последовательности выражают мантиссу со знаком. Самый левый бит указывает на знак мантиссы.
Для текстов применяется цифровое (табличное) кодирование. Имеется некая таблица, связывающая символ определённого языка с его порядковым номером в этой таблице. Понятно, что результат кодирования зависит от того, какая именно таблица кодирования была использована, а таблицы эти могут быть очень и очень разными. Они закреплены международными, национальными и корпоративными стандартами.
ТАБЛИЦА КОДИРОВАНИЯ ASCII
Наибольшее распространение в мире имеет система кодирования ASCII. Её название расшифровывается как American Standard Code for Information Interchange — стандартный код внутреннего информационного обмена США. Её ввёл в действие Национальный институт стандартов США (ANSI, American National Standard Institute). Строго говоря, таблица ASCII предназначена не для восьмиразрядного, а для семиразрядного кодирования 128 различных символов. Этого достаточно для представления строчных и прописных букв английского алфавита, знаков препинания, цифр и знаков математических действий. В таблице ещё остаётся 32 кода (от 0 до 31), которые не представляются никакими символами, почему их иногда называют непечатаемыми знаками. Они служат для управления техническими устройствами.
Так, например, код 10 вызывает на печатающем устройстве протяжку бумаги на одну строку и называется кодом подачи строки, а код 13 вызывает возврат печатающей головки в крайнее левое положение и называется кодом возврата каретки. Соответственно, пара этих кодов (10, 13), переданная принтеру, вызывает печать новой строки документа.
СХЕМЫ 8-РАЗРЯДНОГО КОДИРОВАНИЯ
При 8-разрядном кодировании на запись символа отводится байт, имеющий 256 различимых состояний. Это позволяет кодировать двуязычные символьные наборы. Как правило, одним из языков является английский, а вторым — какой-либо национальный европейский (русский, немецкий, французский, испанский и другие). Англоязычную часть размещают в нижней части таблицы (коды от 0 до 127), а национальную часть — в верхней (коды от 128 до 255). Нижнюю часть делают совпадающей с таблицей ASCII, а верхнюю часть государства, международные организации и отдельные корпорации закрепляют в собственных стандартах.
В России в этой области действует одновременно несколько стандартов, поэтому существуют разные схемы кодирования русскоязычных текстов, не совпадающие друг с другом. К счастью, большинство компьютерных программ позволяют выбрать ту или иную таблицу кодирования перед созданием или воспроизведением документов, однако выполнять эту настройку приходится вручную.