我正在做一个家庭作业,我需要在最多24个运算符中创建一个按位方法.我的代码有效...但我有25个操作员,一个太多了.有人能发现一种更有效的方法来做一段代码吗?
int isGreater(int x, int y)
{
int xSign = (x>>31);
int ySign = (y>>31);
int check1 = (xSign & ySign) | (~xSign & ~ySign);
int same = !((( x + ((~y) + 1) )>>31) & 0x1);
int check2 = (check1 & same) | (~check1 & !xSign);
int equal = ((!(x ^ y))<<31)>>31;
return 0 | (~equal & check2);
}
Run Code Online (Sandbox Code Playgroud)