Здравствуйте, quodum, Вы писали:
Q>При сложении элементарно:
Q>if ( a + b < a )
Q>{
Q> // overflow!
Q>}
Скорее так:
if ( a + b < MAX(a,b) )
{
// overflow!
}
Проверяется элементарно, для беззнаковых 8-ми битных интов: a = 3, b = 0xff. Ваш код переполнения не обнаружит.