Re[6]: integer overflow
От: Goodhope  
Дата: 10.11.11 09:37
Оценка:
Здравствуйте, xor90h, Вы писали:

X>Здравствуйте, quodum, Вы писали:


Q>>При сложении элементарно:


Q>>
if ( a + b < a )
Q>>{
Q>>    // overflow!
Q>>}


X>Скорее так:


X>
if ( a + b < MAX(a,b) )
X>{
X>    // overflow!
X>}


X>Проверяется элементарно, для беззнаковых 8-ми битных интов: a = 3, b = 0xff. Ваш код переполнения не обнаружит.

3 + 0xff = 2 для беззнаковых 8-ми битных интов. Не?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.