Арифметическое переполнение

Материал из testwiki
Версия от 17:34, 2 июня 2022; imported>Tucvbif (Удалена Категория:Компьютерные ошибки с помощью HotCat)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)
Перейти к навигации Перейти к поиску

Шаблон:Значения Арифмети́ческое переполне́ние — специфичная для компьютерной арифметики ситуация, когда при арифметическом действии результат становится больше максимально возможного значения для переменной, использующейся для хранения результата.

Пример: сложение двух переменных размером 8 бит с записью результата в переменную того же размера:

21010+6110=110100102+001111012=?


+1101001020011110121000011112

возникает переполнение.

При этом в результат записывается не ожидаемое 27110=1000011112, а 1510=000011112. Если не проверять, было ли переполнение, то может возникнуть логическая ошибка в программе, о чём в некоторых случаях во время исполнения не узнает ни платформа, ни операционная система (как, например, в Java).

См. также

Шаблон:Нет ссылок