用一句位运算判断两个整数的大小并返回较大者

用一句位运算判断两个整数的大小并返回较大者,不用if..else,不用循环,不用switch,不用条件运算符

const int i = 0xffffffff;

int fun(int a,int b){

return ((bool)(a/b)*i)&a|((bool)(b/a)*i)&b;

}

int main(){

cout<<fun(7,9)<<endl;

return 0;

}



你可能感兴趣的:(用一句位运算判断两个整数的大小并返回较大者)