Числа с плавающей точкой

 

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

Длину отрезка в экспоненциальной форме записи можно представить так: 478 × 103 микрон; 4,78 × 10–1 м.

Точность числа определяется не его длиной, а количеством верных значащих цифр. Задание же всех величин с точностью до 256 бит (или примерно 76 десятичных цифр) — дело не только нереальное, но и бессмысленное, хотя бы потому, что многие из этих величин получаются в результате измерений не очень точными приборами. Не случайно в практических расчетах редко используют более трех значащих цифр, соответствующим образом округляя промежуточные результаты.

Для хранения в памяти ЭВМ чисел с небольшим количеством значащих цифр целесообразно представлять их в экспоненциальной форме. В приведенном выше примере это представление может иметь вид:

4,72 × 105 микрон; 472 × 103 микрон; 4720 × 102 микрон;

4,72 × 10-4 км; 47,2 × 10-5 км; 472 × 10-6 км.

Из этого примера видно, что положение запятой в записи числа может изменяться. Поэтому представление в ЭВМ числа в экспоненциальной форме называетсяпредставлением с плавающей точкой (запятой). Кроме того, экспоненциальную форму называют еще полулогарифмической или нормальной.

Любое число А в экспоненциальной форме представляется в виде

А = mA × qp,

где mA мантисса числа; q — основание системы счисления, р —порядок числа.

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

Это означает, что мантисса должна быть правильной дробью и иметь после запятой цифру, отличную от нуля.

Правило нормализации мантиссы: если мантисса больше единицы, то она сдвигается вправо и к порядку при каждом сдвиге прибавляется 1. Если после запятой находятся нули, то мантисса сдвигается влево, а из порядка при каждом сдвиге вычитается 1.

Запись числа «нуль» является нормализованной, если и мантисса и порядок равны нулю. Число в форме с плавающей точкой занимает в памяти ЭВМ 4 или 8 байт. При записи числа с плавающей точкой выделяются разряды для хранения знака мантиссы, знака порядка, порядка и мантиссы.

31 30 24 23 0

 

Порядок располагается так, что его самый младший двоичный разряд записывается в крайний правый бит из выделенных под порядок. Мантисса располагается так, что ее самый старший двоичный разряд записывается в крайний левый бит из выделенных под мантиссу.

Оценим диапазон представления чисел по максимальному значению:

где;

Тогда

Если для размещения порядка выделяется 7 разрядов, то

и

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