今天做面试题,第一次做到这种类型的题目
a>>31,对于有符号位的数,向右移动时,符号位也会向右移动,当为正数时,最高位补0,为负数时,最高位补1
int getMax(int a,int b){
a = a-b;
b -= a&(a>>31);
return b;//返回值是b,说明了b大,返回值是a,说明了a大
}
今天做面试题,第一次做到这种类型的题目
a>>31,对于有符号位的数,向右移动时,符号位也会向右移动,当为正数时,最高位补0,为负数时,最高位补1
int getMax(int a,int b){
a = a-b;
b -= a&(a>>31);
return b;//返回值是b,说明了b大,返回值是a,说明了a大
}