Исчезновение порядка

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску

Исчезновение порядка, потеря значимости или антипереполнение (англ. floating-point underflow) — ситуация, когда результат операции с плавающей запятой становится настолько близким к нулю, что порядок числа выходит за пределы разрядной сетки.

Например, в арифметике одинарной точности (с минимальным нормализованным числом 1,2·10−38) к исчезновению порядка приведёт операция 10−20·10−30 = 10−50.

Наиболее естественным поведением системы выглядит получение нуля в качестве результата такой операции, но в некоторых случаях желательно более чётко отличать ненулевые числа от нуля. Например, если в дальнейшем результат используется в качестве делителя, то это поможет избежать деления на ноль. Использование денормализованных чисел позволяет обнулять старшие биты мантиссы, имитируя этим уменьшение порядка сверх возможностей разрядной сетки. Правда, происходит это за счёт уменьшения количества значащих цифр, а значит точности числа. Впрочем, даже введение денормализованных чисел качественно не меняет ситуацию: после того, как все биты мантиссы будут обнулены, результатом всё же станет 0. Так, в приведённом примере результат нельзя представить даже денормализованным числом, поскольку минимальное положительное денормализованное число одинарной точности — примерно 1.4·10−45, и результатом будет 0.

См. также[править | править код]