64,849
社区成员
![](https://csdnimg.cn/release/cmsfe/public/img/topic.427195d5.png)
![](https://csdnimg.cn/release/cmsfe/public/img/me.40a70ab0.png)
![](https://csdnimg.cn/release/cmsfe/public/img/task.87b52881.png)
![](https://csdnimg.cn/release/cmsfe/public/img/share-circle.3e0b7822.png)
int Min(int a,int b)
{
return (((a >> 31 == 0) && (b >>31==1)) | (((a >> 31)^(b >> 31))==0)&&(((a-b)>>31)==0))? b:a;
}
//参考了105楼:
#define sig(x) ((x) >> (sizeof(int) * 8 - 1))
int Min( int a, int b)
{
unsigned int aa = a;
unsigned int bb = b;
int array[3][2] = { {b, b}, {b, a}, {a, a} };
int x = sig(aa) - sig(bb);
int y = (x * x - 1) * ( x * x - 1) * (sig(aa - bb)); //此处,溢出无影响。
return array[x + 1][y];
}