gpt4 book ai didi

c - 在 C 中使用按位运算符查找 x 是否大于 y

转载 作者:太空宇宙 更新时间:2023-11-04 06:37:57 25 4
gpt4 key购买 nike

<分区>

如果 x > y,则此函数将返回 1,否则返回 0。

到目前为止我有

int isitGreater(int x, int y) {

return (((y+((~x)+1)) >> 31) & 1);

但它不起作用。

允许的操作:合法操作:! ~ & ^ | + << >>

我确信我的逻辑是正确的,如果 X - Y 并且我得到一个负数,这意味着 y > x ,因此第 32 位是 1,所以我将那个位向右移动 31 次并且然后用“1”“和”它。

编辑:如果 x 为负数,由于溢出,这将不起作用。如何在不使用条件语句的情况下解决这个溢出问题?

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