不使用任何逻辑判断语句(如if……else等)以及三元表达式,编码实现分段函数f(x):
x<0时f(x)=-1;x=0时f(x)=0;x>0时f(x)=1(-999,999,999<x<999,999,999)
想了好久才想出来,学的东西的东西都快还给老师了。static int functionUseless(int n) {
// n>>31 负数返还全1,0和正数返回全0
// 0x80000000 & (n - 1)& 1 看看是不是0,是0符号为则会1整数符号为为0
// ^ 1把得到的值转换一下
return (n >> 31) | ((((0x80000000 & (n - 1)) >> 31) & 1) ^ 1);
}