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


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

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



Положительные целые числа кодиру­ются согласно правилам двоичной арифметики. Числа в диапазоне от 0 до 255 записываются одним байтом. Порядок пре­образования числа в двоичную форму рас­смотрим на примере числа 99.

1. Число раскладывается в ряд по степе­ням двойки (128, 64, 32,16, 8, 4, 2 и 1),
например:

99 = 64 + 32 + 2 + 1

2. Слагаемые записываются с помощью степенных выражений:

99 = 26 + 25 + 21 + 2°

3. Показатели степеней указывают на то, какой бит в байте должен быть включён (равен 1). То есть в нашем примере включены должны быть биты: шестой, пятый, первый и нуле­вой. Номера битов в байте отсчитыва­ются от 0 до 7, а сами биты обознача­ются от А0 до А7. (Здесь буква «А» обозначает слово «адрес».)

Числа в диапазоне от 0 до 65535 записы­ваются двумя байтами. Пара взаимосвя­занных байтов (16 бит) в информатике на­зывается словом. Его информационным значением являются 65 536 (216) различи­мых состояний.

Для записи более крупных целых положи­тельных чисел используют двойное слово (32 бита) или учетверённое слово (64 бита). Так, например, учетверённым словом можно записать целые числа в диапазоне от 0 до 18 446 744 073 709 551 615.

 

Кодирование целых чисел со знаком

Теоретически, для знака записи числа можно было бы выделить один бит, на­пример самый старший. Тогда оставшиеся 7 бит позволили бы выразить целые числа от -127 до +127, включая 0. Однако при таком подходе возникают две проблемы:

· информационным содержанием байта становятся 255 различимых чисел вместо 256 (то есть одно значение куда-то пропадает);

· мы получаем два различимых нуля: «плюс ноль» и «минус ноль» (вот куда пропало недостающее значение). Эти обстоятельства «сбивают» работу вычислительных систем и не позволяют использовать простое двоичное представ­ление для записи целых чисел со знаком. Для таких чисел придумана специальная форма записи, которая называется двоич­ной дополнительной арифметикой. Запись числа в этой форме осуществляется в три приёма.

1. Сначала записывается целое число без знака (как будто оно положительное).

2. Если число отрицательное, то оно ин­вертируется (каждый бит числа меняется на противоположный).

3. Затем инверсное число дополняется (значение младшего бита увеличивается на единицу).

 

Интересно отметить, что старший бит байта указывает на знак числа. Если он равен нулю, то число положительное, а если он равен 1, то отрицательное.

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

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

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

29, 125

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

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



Поделиться:


Последнее изменение этой страницы: 2016-08-01; просмотров: 717; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.191.240.243 (0.005 с.)