本帖最后由 mybao 于 2012-6-24 10:08 编辑
举个加法例子
speex的库,简化版
#define ADD32(a,b) ((a)+(b))
标准版
Word32 ADD32(Word32 L_var1, Word32 L_var2)
{
Word32 L_var_out;
L_var_out = L_var1 + L_var2;
if (((L_var1 ^ L_var2) & 0x80000000) == 0)
{
if ((L_var_out ^ L_var1) & 0x80000000)
{
L_var_out = (L_var1 < 0) ? 0x80000000 : 0x7fffffff;
}
}
return (L_var_out);
}
|