不使用任何判断,如if,?:,switch,计算两个数中的最大值! 在面试的时候遇到一题,题目如本文标题,当时没答出来,只想到可能会利用位运算,但具体代码没想出来,后来在网上也找有同样的问题,摘录其中一段代码: int Max( int a , int b ) { int MASK = 0x7fffffff; int z = (a>>31) - (b>>31) + (((a&MASK) - (b&MASK))>>31); z = (z+1)*(z+2)*(3-2*z)/6; return z*a+(1-z)*b;} posted on 2005-09-02 17:03 又见Mike 阅读( ...) 评论( ...) 编辑 收藏 转载于:https://www.cnblogs.com/dfengfeng/archive/2005/09/02/228899.html