题干:
错误:
错误原因:误将题目当成无符号的溢出
有符号数溢出有两种情况:一是正正相加,产生正溢出;另一种情况是负负相减,产生负溢出。所以就分别考虑了这两种情况,将这两种情况取或判断溢出。
a[7] && b[7] && ~s[7]:
负数相减(补码相加)产生正数,判断溢出。
~a[7] && ~b[7] && s[7]:
正数相加产生一个负数,判断溢出。
正确代码:
题干:
错误:
错误原因:误将题目当成无符号的溢出
有符号数溢出有两种情况:一是正正相加,产生正溢出;另一种情况是负负相减,产生负溢出。所以就分别考虑了这两种情况,将这两种情况取或判断溢出。
a[7] && b[7] && ~s[7]:
负数相减(补码相加)产生正数,判断溢出。
~a[7] && ~b[7] && s[7]:
正数相加产生一个负数,判断溢出。
正确代码: