gpt4 book ai didi

c++ - 我的方法需要使用更少的运算符

转载 作者:太空狗 更新时间:2023-10-29 23:25:44 26 4
gpt4 key购买 nike

我正在做家庭作业,我需要创建一个最多包含 24 个运算符的按位方法。我的代码有效……但我有 25 个运算符(operator),太多了。谁能找到一种更有效的方法来编写一段代码?

 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);
}

最佳答案

尝试改变这一行:

int check1 = (xSign & ySign) | (~xSign & ~ySign);

为此:

int check1 = (xSign & ySign) | ~(xSign | ySign);

少了一个运算符。

关于c++ - 我的方法需要使用更少的运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10151101/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com