Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции_по информатике.doc
Скачиваний:
57
Добавлен:
30.03.2015
Размер:
3.56 Mб
Скачать

Кодирование чисел и текстов

В качестве схем кодирования данных для компьютеров используют цифровые схемы (табличные) или числовые. И в том, и в другом случае аналоговая информация представляется битами, байтами или ком­позициями байтов. В этом разделе мы познакомимся с методами цифрового и числового кодирования основных видов информации при её записи. Рассматривать мы будем их в хронологическом порядке -именно так, как учёные создавали и вне­дряли методы кодирования.

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

Положительные целые числа кодиру­ются согласно правилам двоичной арифметики. Числа в диапазоне от 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. Записываем действительное число по правилам двоичной дополнительной арифметики. Первый байт последова­тельности выражает порядок со зна­ком. Его старший бит указывает на знак порядка. Следующие байты по­следовательности выражают мантис­су со знаком. Самый левый бит ука­зывает на знак мантиссы.