两个int型数据进行比较,不用任何“if”, “? :”, “switch” or other judgement statements。实现如下:







当b<0的时候以补码存,故最高位是1
所以右移31位b>>31其实就是最高位的值
b>=0时候最高位为0
所以b跟1与时候为b ,a=a-(a-b)=b
b跟1作与运算时候为0 ,相当于a=a-0=a
两个int型数据进行比较,不用任何“if”, “? :”, “switch” or other judgement statements。实现如下:
当b<0的时候以补码存,故最高位是1
所以右移31位b>>31其实就是最高位的值
b>=0时候最高位为0
所以b跟1与时候为b ,a=a-(a-b)=b
b跟1作与运算时候为0 ,相当于a=a-0=a