Программирование на JAVA

Порядок в формате с избытком 127


(Слева от двоичной запятой нет явно заданной 1)

Представленное значение = +0,0010110... х 29

а


Представленное значение = +1,0110... х 26

б

Рис. 4.5. Число с плавающей запятой в формате IEEE одинарной точности:

ненормализованное (а); нормализованное (б)

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

Во-первых, если число не нормализовано, его всегда можно привести к нормальной форме, сдвинув дробную часть и соответст­вующим образом изменив порядок. На рис. 4.5 вы видите ненормализованное значение 0,0010110... х 29 и его нормализованное представление 1,0110... х 26. По­скольку масштабный множитель представлен в формате 2i, сдвиг мантиссы на один разряд вправо или влево компенсируется увеличением или уменьшением порядка на единицу.

Во-вторых, в ходе вычислений может быть сгенерировано число, выходящее за рамки диапазона нормальных чисел. Если точность одинар­ная, это означает, что для представления нормализованного числа потребуется по­рядок менее -126 или более +127. В первом случае говорят о потере значимости или отрицательном переполнении (underflow), а во втором — о переполнении (overflow)


<< назад вперед >>