Числа с плавающей запятой

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

Пример.Число 0072.3500(10) -до нормализации и 0,7235х102 -после.

В двоичной СС запись будет следующей: до нормализации -001001000,100011 и после -1001000100011 х 27

Целая часть Дробная часть

, До нормализации

15 6 5 0

  После нормализации

Порядок =7 мантисса

В форме представления с плаваю­щей запятой (точкой) число изображается в виде двух групп цифр:

• мантисса;

• порядок.

При этом абсолютная величина мантиссы должна быть мень­ше 1, а порядок должен быть целым числом.

Например, приведенные ранее числа в нормальной форме запи­шутся следующим образом:

+0,721355 х 103;

+0,328 х 10-3;

-0,103012026 х 105.

Нормальная форма представления обеспечивает большой диапа­зон отображения чисел и является основной в современных компь­ютерах.

В форме с плавающей запятой числа представляются в виде произведений:

C = qП ∙M = X∙ M (1.7)

где q — основание системы счисления (обычно целая степень числа 2);

П — поря­док числа длиной k+1 (целое число со знаком, где к –число знач.цифр);

М— мантисса числа длиной г +1 (правильная дробь со знаком);

X - характеристика числа.

Знак всего числа опреде­ляется знаком мантиссы.

Для мини-компьютеров основания порядка и мантиссы совпадают (далее предполагается этот случай), а для больших машин — они раз­личны. Представление числа формулой (1.7) называют также полулогарифмиче­ским, потому что только часть числа — характеристика — представляется в лога­рифмической форме.

Следует заметить, что все числа с плавающей запятой хранятся в машине в так называемом нормализованном виде.

Нормализованным называют такое число, старший разряд ман­тиссы которого больше нуля. У нормализованных двоичных чисел, следовательно, 0,5 < │М< I.

Нормализованные, т. е. приведенные к правильной дроби, числа:

10,3510 = 0,103510 x 10+2;

0,000072458 = 0,72458 х 8 -4;

F5C,9B16 = 0,F5C9B16 x 16+3;

В памяти ЭВМ числа с ПТ хранятся в двух форматах:

• слово — 32 бита, или 4 байта;

• двойное слово — 64 бита, или 8 байт.

Разрядная сетка для чисел с ПТ имеет следующую структуру:

• нулевой разряд — это знак числа (0 — «минус», 1 — «плюс»);

• с 1 по 7 разряд записывается порядок в прямом двоичном коде, пустые разряды заполняются нулями. В первом разряде указывается знак порядка (1 — «плюс» или 0 — «минус»);

• с 8 по 31 (63) указывается мантисса, слева направо без нуля целых в прямом двоичном коде и для отрицательных чисел и пустые разряды заполняются нулями.

Мантисса называется нормализованной, если ее значение определяется нера­венством вида

≤ |M| < 1 т.е. для основания q = 2 имеем: 0,5 < М< 1.

Пример 1.3 Иллюстрация записи числа с плавающей запятой: А2 = 21∙110,111 = 22∙11,0111 = 24∙0,110111
то есть в старшем разряде модуля мантиссы должна быть записана единица.

 

Значение порядка (П = 1, 2 и 4) указывает на количество позиций, на которые "плавает" за­пятая.

Формат числа с плавающей запятой в 16-разрядной сетке показан на рис. 1.8. Тут для модулей порядка и мантиссы отведено соответственно пять (с 10 по 14) и девять (с 0 по 8) разрядов. Запятая в порядке размещена (условно) после младшего разряда, а в мантис­се — перед старшим. Знаки порядка и мантиссы размещены перед их старшими разрядами.

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 Нумерация разрядов числа

+/- Порядок +/- Мантисса

Рисунок 1.8 –Формат чисел в форме плавающей запятой

Абсолютное значение числа С в форме с плавающей запятой с учетом формул (1.7), (1.9) и (1.13) изменяется в пределах

Xmin Mmin = Cmin ≤ |C| ≤ Cmax = Xmax Mmax (1.8)

где Xmin =2max ( Пmax = 2r -1, где r –разрядность модуля порядка )

Mmin =2-1

Xmax =2max

Mmax =1-2-k (k –разрядность модуля мантиссы)

Диапазон представления чисел в форме с плавающей запятой

Пример 1.4 Рассчитать значение диапазона ДC для числа С при г = 5, к = 9. С учетом выражения (1.15) получаем: если Пmax = 2r -1= 25 – 1 = 31 то DC =2max+1 =231+1= 232 что приблизительно соответствует десятичному числу 1032∙0,3 ≈ 109. Диапазон представления чисел с плавающей запятой приблизительно больше в Пmax раз диапазона представления чисел в форме с фиксированной запятой.
DC = 2Cmax = 2∙ 2max(1-2-k) ≈2max+1 (1.9)

 

 

Абсолютная погрешность представления чисел в форме с плавающей запятой зависит от погрешности мантиссы и порядка числа:

∆С = ∆М∙2±П; ∆М =2(k+1) (1.10)

где ∆M— погрешность представления мантиссы.

Минимальная и максимальная относительные погрешности представления чи­сел в форме с плавающей запятой не зависят от характеристики (она записывается в числителе и знаменателе выражения и потому сокращается).

С учетом формул (1.14) и (1.16) относительные погрешности рассчитывают из соотношений:

δCmin = = = 2-(k+1) ; δCmax = = = 2-k (1.11)

Из выражений (1.17) следует, что относительные погрешности представления чисел в форме с плавающей запятой практически постоянны во всем диапазоне чи­сел.

1.4 Представление информации в микропроцессорах класса Pentium


Рассмотрим представления операндов в 32-разрядных микропроцессорах класса Pentium. В них используются такие типы данных: целые числа, веществен­ные числа, двоично-десятичные числа и строки битов, байтов и слов. Целые числа представляются со знаком и без знака в форматах байта, полуслова, слова, двойного и учетве­ренного слова длиной соответственно 8, 16, 32, 64 и 128 бит (рис. 1.9).

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

+/- байт

 

                                +/- Полуслово

 

+/- Слово

Рисунок 1.9 – Форматы целых чисел со знаком

Над числами в этих форматах выполняются операции сложения, вычитания, умножения, деления. Диапазоны представления знаковых и беззнаковых зна­чений в данных форматах представлены в табл. 1.4.

Формат числа Диапазон представления чисел
    без знака со знаком
Байт 0...255 -128. .. + 127
Полуслово 0...65535 -32768...+32767
Слово 0...4∙109 -2∙109...+2∙109
Двойное слово 0...5∙10'9 -2,5∙10,9...+2,5∙1019

Вещественные числа представлены в формате с плавающей запятой в корот­ком (32 бит), длинном (64 бит) и расширенном (80 бит) форматах (рис. 1.10). Числа с плавающей запятой длиной 32 и 64 бит, которые используются во многих компьюте­рах, обычно называют числами с одинарной (32разряда) и двой­ной точностью (64 разряда).

Расширенный формат (80 разрядов) характерен только для процессоров класса Pentium.

31 30 24 23 0

+/- Порядок = 8 Мантисса (24 бит)

63 62 53 52 0

+/- Порядок (11 бит) Мантисса (53 бит)

79 78 64 63 0

+/- Порядок (15 бит) Мантисса (64 бит)

Рисунок 1.10 – Форматы чисел с плавающей запятой: короткий, длинный и расширенный

В данных форматах чисел с плавающей запятой используются смещенные по­рядки ПСМ:

П + 127 для r = 8

ПСМ = П + ∆П = П + 2r-1 – 1 =П + 1023 для r = 11

П + 16383 для r = 15

Где: П — значение истинного порядка;

∆П = 2Г-' - 1 — смещение;

г — длина порядка, которая равна 8, 11 или 15 бит соответственно для короткого, длинного и расширен­ного формата.

Значение ПСМ всегда положительное, поэтому знаковый разряд не нужен. Представление порядка со смещением упрощает операции сравнения чисел с плавающей запятой, что особенно важно для алгоритмов сортировки.

Значение числа с плавающей запятой и смещенным порядком определяется по формуле

С = (-1)S (F0 , F1 , . . . Fi , . . . Fn)

где S — знак числа; п — число, которое для разных форматов равно 23, 52 или 63.

В машине мантисса представлена в нормализованной форме, которая состоит из целой части F0 = 1 и дроби в таком виде:

M = 1, F1 , F2 , . . . Fi , . . . Fn

В коротком и длинном форматах бит F0 при передаче чисел и хранении их в памяти не фигурирует. Это — скрытый (неявный) бит, который в нормализованном числе всегда равен единице.

Пример 1.5 Представить десятичное число -247,375 в коротком формате. Двоичный код этого числа равен -11110111,011; истинный порядок будет +7 (запятая сдвигается влево на семь разрядов), а смещение достигнет значения Псм = 127 + 7 = 134. С учетом скрытого бита F0 - 1 имеем: Знак Порядок Мантисса 1 10000110 ,1110 1110 1100 0000 0000 0000.

 


Параметры форматов вещественных чисел представлены в табл. 1.5.

 

Параметры   Формат  
короткий длинный расширенный
Длина формата, бит
Длина мантиссы, бит
Длина порядка, бит
Смещение порядка + 127 + 1023 +16383
Диапазон 10±38 10±308 10±4932

Числа в коротком и длинном форматах существуют только в памяти. При за­грузке чисел в одном из этих форматов в микропроцессор они автоматически пре­образуются в 80-битный формат, который используется только для внутренних oneраций. Аналогично данные из процессора преобразуются в короткий или длинный формат для хранения в памяти.

Точность вычислений чисел с плавающей запятой возрастает с увеличением длины мантиссы. Диапазон представления чисел с плавающей запятой зависит от длины порядка и основания счисления q. В машинах ЕС ЭВМ значение q = 16. В процессорах Pentium диапазон представления чисел в коротком формате для q = 2 находится в пределах 10±38. Если же для этого формата взять основание q = 16, то получим значение диапазона в пределах 10±152.

В микропроцессорах Pentium используются двоично-десятичные цифры в таких форматах:

восьмиразрядные упакованные, которые содержат в одном байте две деся­тичные цифры в коде 8421, например, 3910 = 0011 10012-10;

восьмиразрядные неупакованные, которые содержат одну десятичную цифру в байте (младшая тетрада) вместе с признаком (зоной) 00112 в меж­дународном коде ASCII,

например, 4910 = 0011 0100 0011 10012-10

Представление десятичного числа 136492 в неупакованном и упакованном форматах показано на рис. 1.11;

7 0 7 0 7 0 7 0 7 0 7 0

0011 0001 0011 0011 0011 0110 0011 0100 0011 1001 0011 0010 Неупакованный формат
0001 0011 0110 0100 1001 0010 Упакованный формат

 

 

Рисунок 1.11 – Представление десятичных цифр в различных форматах

80-разрядные упакованные, в которые записываются 19 десятичных цифр (19 тетрад), и в старшую тетраду (20 тетрада) записывается знак числа.

 


1.5 Информационные меры  

 


В теории передачи и преобразования информации установлены информационные меры количества и качества информации — семантические, структурные, ста­тистические.

Ø Семантический подход позволят выделить полезность или ценность информа­ционного сообщения. В структурном аспекте рассматривают строение массивов ин­формации и их измерение простым подсчетом информационных элементов или комбинаторным методом.

Ø Структурный подход используют для оценки возможно­стей информационных систем вне зависимости от условий их применения. При ис­пользовании структурных мер информации учитывают только дискретное строение сообщения, количество содержащихся в нем информационных элементов, связей между ними. При структурном подходе различают геометрическую, комбинаторную и аддитивную меры информации.

§ Геометрическая мера определяет параметры геометрической модели инфор­мационного сообщения (длина, площадь, объем) в дискретных единицах. Эту меру применяют как для оценки информационной емкости всей модели, так и для оценки количества информации в одном сообщении.

§ В комбинаторной мере количество информации I определяют количеством комбинаций элементов (символов), которые совпадают с числом:

сочетаний из q элементов по п:

например, для множества цифр 1, 2, 3, 4 можно составить шесть сочетаний по две цифры: 12, 13, 14, 23, 24, 34;

перестановок I = q!,

например, для множества букв а, в, с можно получить шесть перестановок: авс, асе, вас, вса, сав, сва;

размещений с повторениями из q элементов по п:

Например, для q = 0, 1 и n = 3 имеем: 000, 001, 010, 011, 100, 101, 110, 111.

§ Широкое распространение получила аддитивная мера.

Пусть N—число равно­вероятных сообщений, п — их длина, q — число букв алфавита, используемого для передачи информации. Количество возможных сообщений длины п равняется числу размещений с повторениями

N = qn. (1.11)

Эту меру наделяют свойством аддитивности, чтобы она была пропорциональна длине сообщения и позволяла складывать количество информации ряда источни­ков. Для этого Хартли предложил логарифмическую функцию как меру количества информации (I):

I = log N = n log q. (1.12)

Количество информации, которое приходится на один элемент сообщения, на­зывается энтропией (H).

H = I/n = log q. (1.13)

Основание логарифма зависит от выбора единицы количества информации. Если для алфавита используют двоичные цифры 0 и 1, то за основание логариф­ма принимают q = 2, в результате чего

I = n log2 2 = п.

При длине п = 1 получают I = 1 и это количество информации называют битом.

Передача сообщения длиной п = 1 эквивалентна выбору одного из двух воз­можных равновероятных сообщений — одно из них равно единице, другое — нулю. Двоичное сообщение длины п содержит п битов информации. Если основание лога­рифма равно 10, то количество информации измеряется в десятичных единицах — дитах, причем 1 дит = 3,32 бита.

Например, текст составлен из 32 букв алфавита и передается последовательно по телетайпу в двоичном коде. При этом количество информации I = log2N = log232 = 5 битов.

Далее используются логарифмы с осно­ванием два.

Ø В общем случае сообщения появляются с разной вероятностью. Статистиче­ская мера использует вероятностный подход к оценке количества информации. Со­гласно Шеннону каждое сообщение характеризуется вероятностью появления, и чем она меньше, тем больше в сообщении информации. Вероятность конкретных типов сообщений устанавливают на основе статистического анализа.

Пусть сообщения образуются последовательной передачей букв некоторого алфавита:

х1, ..., хi ..., хq

с вероятностью появления каждой буквы: р(х1) = р1, ..., p(xi) =рi ..., р(хq) = рq,

при этом выполняется условие: р1 + ... + рi + ... + рq = 1.

Множество с известным распределением элементов называют ансамблем. Со­гласно Шеннону количество информации, которое содержится в сообщении хi, рас­считывают по формуле:

Для абсолютно достоверных сообщений рi = 1, тогда количество информации I(xi) = 0; при уменьшении значения pi количество информации увеличивается.

Пусть в ансамбле все буквы алфавита х1, ..., хi ... , хq — равновероятны, то есть p1 = р2 = ... = рq = 1/q, и статистически независимы. Тогда количество инфор­мации в сообщении длиной n букв с учетом выражения (1.4)

(1.14)

что совпадает с мерой Хартли в соответствии с выражениями (1.11) и (1.12).

Согласно Шеннону информация — это снятие неопределенности, что понимают следующим образом. До опыта событие (например, появление буквы хi) характери­зуют малой начальной вероятностью рн, которой соответствует большая неопреде­ленность. После опыта неопределенность уменьшается, поскольку конечная веро­ятность рк > рн. Уменьшение неопределенности рассчитывают как разность между начальным IHи конечным IК значениями количества информации.

Например, для рH = 0,1 и рK = 1 получим:

∆I = IH – IK = log - log = log 10 – log 1 = 3.32

Пусть сложное сообщение характеризуется алфавитом из букв х1, х2, ..., хq, их вероятностями р1, р2, .... рq и частотой появления каждой буквы m1, m2, ..., mq. Все сообщения статистически независимы, при этом m1, + m2 + ... + mq = m.

Общее ко­личество информации для всех q типов сообщений с учетом выражения (1.14)

Среднее значение количества информации на одно сообщение (энтропия) со­гласно формуле Шеннона

где при большом значении m отношение mi/m характеризует вероятность рi каждой буквы. Выражение log1/pi, рассматривают как частную энтропию, которая характери­зует информативность буквы xi, а энтропию Н— как среднее значение частных эн­тропии. При малых значениях pi частная энтропия велика, а с приближением pi, к единице она приближается к нулю (рис. 1.5, а).

Функция η = (Pi) = pi log1/p, отражает вклад буквы хi в энтропию Н. Как видим, при pi = 1 эта функция равна нулю, затем возрастает до своего максимума и при уменьшении рi приближается к нулю. Функция η(pi) при значении pi = 0,37 имеет максимум 0,531.

Интерес представляют сообщения с использованием двухбуквенного алфавита х1 и х2 (например, цифры 0 и 1).

Поскольку при q = 2 вероятность букв алфавита p1 +p2 = 1, то можно положить, что p1 = р и р2 = 1 -р. Тогда энтропию определяют соотношением:

(1.15)

график которой показан на рис.1.5, б. Он образуется суммированием двух графиков, определяющих энтропию каждой из двух букв. Из графиков видно, что при p = 0 или р = 1 энтропия равна нулю и неопределенность полностью снимается. Это означа­ет, что с вероятностью, равной единице, можно знать, каким будет следующее со­общение.

 


Энтропия двухбуквенных сообщений достигает максимального значения, рав­ного 1 биту, при р = 0,5, и ее график симметричен относительно этого значения. Это тот случай, когда наиболее трудно предугадать, какое сообщение будет следую­щим, — то есть ситуация наиболее неопределенная.

В общем случае энтропия обладает следующими свойствами.

1. Энтропия — величина вещественная, непрерывная, ограниченная и неот­рицательная.

2. Энтропия равна нулю, если сообщение заранее известно. В этом случае не­которое сообщение задано с вероятностью рi = 1, а вероятность остальных равна нулю.

3. Энтропия максимальна, если все сообщения равновероятны: р12 = ... = рq = 1/q...

В этом случае на основании выражения (1.15) получим:

что совпадает с выражением (1.3). В этом случае оценки количества ин­формации по Хартли и Шеннону совпадают.

4. При неравных вероятностях количество информации по Шеннону меньше меры Хартли.

5. При объединении энтропии двух независимых источников сообщений их эн­тропии складываются.

В компьютере наименьшей возможной единицей объемной (геометрической) меры информации является бит. Объем (или емкость) информации вычисляется по количеству двоичных символов 0 и 1, записанных в памяти компьютера. При этом возможно только целое число битов в отличие от вероятностного подхода, где мо­жет быть и нецелое число.

Для удобства использования введены также единицы количества информации, превышающие бит. Так, двоичное слово из восьми символов содержит 1 байт ин­формации, 1024 байт составляют килобайт (Кбайт), 1024 Кбайт — мегабайт (Мбайт) и 1024 Мбайт — гигабайт (Гбайт); при этом 1024 = 210

Между объемным и вероятностным количествами информации соотношение неоднозначное. Если сообщение допускает измерение количества информации и объемно и вероятностно, то они не обязательно совпадают. При этом вероятност­ное количество не может быть больше объемного. В дальнейшем тексте количество информации понимается в объемном значении.

 

Замечание

Международная система единиц измерения величин СИ (SI) устанавливает специальные приставки для получения кратных и дольных единиц измерения во всех областях науки и техники. Эти приставки имеют полные наименования и сокращенные обозначения и позволяют умножать значение основ­ной единицы на определенную степень числа 10. Для удобства мы будем называть эти приставки десятичными. Приведем наиболее важные десятичные приставки.