Здравствуйте, 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-ми битных интов. Не?