C语言有符号整数加法,溢出判断?
《C安全编码标准》
第5章 整数
INT32-C 保证有符号整数运算不会产生溢出
---------------------------------------------------------------------------------------------
问题:
一, 溢出的条件,是什么意思?
详细解释下。
二,书本为什么只是有符号整数的加法,无符号整数的加法怎样防止溢出?
第5章 整数
INT32-C 保证有符号整数运算不会产生溢出
//书中用si1表示x。 si2表示y。
//加法
signed int x,y,sum;
if (((x^y) |(((x(~(x^y)&(1<<(sizeof(int)*CHAR_-1))))+y)^y))>=0) //详细解释下这个条件?
{
}
else
{
sum=x+y;
}
---------------------------------------------------------------------------------------------
问题:
一, 溢出的条件,是什么意思?
详细解释下。
二,书本为什么只是有符号整数的加法,无符号整数的加法怎样防止溢出?
...全文


