1判断2个整数相加是否溢出的方法
(1)2个无符号整形相加的情况
int add_ok(unsigned x, unsigned y)
{
unsignedz;
z= x + y;
if(z< x)
return 0; //溢出
return1; //没有溢出
}
(2)2个有符号整数相加的情况
int add_ok(int x, int y)
{
intz;
z= x + y;
if(x> 0 && y > 0 && z < 0)
return 0; //溢出
if(x < 0&& y < 0 && z > 0)
return 0; //溢出
return1; //没有溢出
}