class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * 获取最大值 * @param a int整型 * @param b int整型 * @return int整型 */ int flip(int n)//本来负数是1, 非负是0,换一下 { return n ^ 1; } int sign(unsigned int n)//非负 1, 负数是0 { return flip(n >> 31); } int getMax(int a, int b) { int c = a - b; int sa = sign(a), sb = sign(b), sc = sign(c); int diffAB = sa ^ sb;//一样 0,不一样:1 int sameAB = flip(diffAB);//互斥 //返回A的条件 a,b不同(diffAB = 1)且a非负(sa = 1)|| a,b相同(sameAB = 1)且 c非负(sc=1) int returnA = diffAB * sa + sameAB * sc; int returnB = flip(returnA);//a不满足就返回b return a * returnA + b * returnB; } };