3. Переполнение (overflow), потеря точности (underflow).
Переполнение (overflow) возникает, когда результат вычислений превышает максимальное представимое число для типа данных.
- Максимальное значение ≈ 1.8×10^(308)
- Операция 10^(200)×10^(200)=10^(400) вызовет overflow → результат ±∞ (Inf).
Потеря точности (underflow) возникает, когда результат ближе к нулю, чем минимальное нормализованное число:
- Минимальное нормализованное double ≈ 2.2×10^(−308)
- Операция 10^(−200)×10^(−200)=10^(−400) вызывает underflow → результат денормализован (теряет точность) или округляется до 0.
Ключевые последствия:
- Overflow: Необратимая ошибка (Inf/NaN), остановка вычислений.
- Underflow: Потеря значащих цифр, денормализованные числа работают медленнее.