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

Поделись знанием:
Перейти к: навигация, поиск

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

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

<math>210_{10} + 61_{10} = 11010010_{2} + 00111101_{2} = ?</math>


<math> \begin{array}{c}

 \begin{array}{cc}
   + & \begin{array}{c}
         11010010_{2} \\
         00111101_{2}
       \end{array}\\
 \end{array}\\
 \hline
 \begin{array}{cc}
   & {\color{Red}1}00001111_{2}
 \end{array}

\end{array} </math>

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

При этом в результат записывается не ожидаемое <math>271_{10} = {\color{Red}1}00001111_2</math>, а <math>15_{10} = 00001111_2</math>. Если не проверять, было ли переполнение, то может возникнуть логическая ошибка в программе, о чём в некоторых случаях во время исполнения не узнает ни платформа, ни операционная система (как, например, в Java).



См. также

Напишите отзыв о статье "Арифметическое переполнение"

Отрывок, характеризующий Арифметическое переполнение

– Душенька моя, – сказал он: слово, которое никогда не говорил ей. – Бог милостив. – Она вопросительно, детски укоризненно посмотрела на него.
– Я от тебя ждала помощи, и ничего, ничего, и ты тоже! – сказали ее глаза. Она не удивилась, что он приехал; она не поняла того, что он приехал. Его приезд не имел никакого отношения до ее страданий и облегчения их. Муки вновь начались, и Марья Богдановна посоветовала князю Андрею выйти из комнаты.
Акушер вошел в комнату. Князь Андрей вышел и, встретив княжну Марью, опять подошел к ней. Они шопотом заговорили, но всякую минуту разговор замолкал. Они ждали и прислушивались.
– Allez, mon ami, [Иди, мой друг,] – сказала княжна Марья. Князь Андрей опять пошел к жене, и в соседней комнате сел дожидаясь. Какая то женщина вышла из ее комнаты с испуганным лицом и смутилась, увидав князя Андрея. Он закрыл лицо руками и просидел так несколько минут. Жалкие, беспомощно животные стоны слышались из за двери. Князь Андрей встал, подошел к двери и хотел отворить ее. Дверь держал кто то.