Кодирование действительных чисел

Запись действительного числа в двоичной форме выполняется в несколько эта­пов. Рассмотрим для примера запись числа 29,125.

1. Сначала число преобразуется в двоичную форму. При этом целая и дробная части преобразуются порознь, а потом объединяются.

29, 125 Кодирование действительных чисел - student2.ru Кодирование действительных чисел - student2.ru

2910=111012

0,12510 =0,0012

       
  Кодирование действительных чисел - student2.ru   Кодирование действительных чисел - student2.ru
 

Для перевода чисел из системы исчисления с основой 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, а верхнюю часть государства, международные организации и отдельные корпорации закрепляют в собственных стандартах.

В России в этой области действует одновременно несколько стандартов, поэтому существуют разные схемы кодирования русскоязычных текстов, не совпадающие друг с другом. К счастью, большинство компьютерных программ позволяют выбрать ту или иную таблицу кодирования перед созданием или воспроизведением документов, однако выполнять эту настройку приходится вручную.

Наши рекомендации