#include <limits.h>
int saturating_add(int x,int y){
int z=x+y;
(x&INT_MIN)&&(y&INT_MIN)&&!(z&INT_MIN)&&(z=INT_MIN);
!(x&INT_MIN)&&!(y&INT_MIN)&&(z&INT_MIN)&&(z=INT_MAX);
return z;
}
第一个判别x与y是否同时小于0
第二个判别x与y是否同时大于0
#include <limits.h>
int saturating_add(int x,int y){
int z=x+y;
(x&INT_MIN)&&(y&INT_MIN)&&!(z&INT_MIN)&&(z=INT_MIN);
!(x&INT_MIN)&&!(y&INT_MIN)&&(z&INT_MIN)&&(z=INT_MAX);
return z;
}
第一个判别x与y是否同时小于0
第二个判别x与y是否同时大于0