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

原创
2014/03/12 16:59
阅读数 1.8K

用一句位运算判断两个整数的大小并返回较大者,不用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;

}



展开阅读全文
打赏
0
4 收藏
分享
加载中
icheer博主

引用来自“ruki”的评论

感觉这个还不如分支了。。

这是我看到的某游戏公司的面试题,,,
2014/03/13 09:22
回复
举报
感觉这个还不如分支了。。
2014/03/12 21:20
回复
举报
更多评论
打赏
2 评论
4 收藏
0
分享
返回顶部
顶部