Арифметичне переповнення

Матеріал з testwiki
Версія від 08:09, 24 червня 2023, створена imported>J. Gradowski (оформлення)
(різн.) ← Попередня версія | Поточна версія (різн.) | Новіша версія → (різн.)
Перейти до навігації Перейти до пошуку

Шаблон:Без джерел

Арифметичне переповнення — специфічна для комп'ютерної арифметики ситуація, коли при арифметичній дії результат стає більшим від максимально можливого значення для змінної, що використовується для зберігання результату.

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

21010+6110=110100102+001111012=?


+1101001020011110121000011112

виникає переповнення.

При цьому в результат записується не очікуване 27110=1000011112, а 1510=000011112. Якщо не перевіряти, чи було переповнення, то може виникнути логічна помилка в програмі, про що в деяких випадках під час виконання не дізнається ні платформа, ні операційна система (як, наприклад, в Java).

Див. також

Шаблон:Math-stub