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

Материал из testwiki
Перейти к навигации Перейти к поиску

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

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

21010+6110=110100102+001111012=?


+1101001020011110121000011112

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

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

См. также

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