gpt4 book ai didi

c - 按位与表达式中操作数的可能值

转载 作者:行者123 更新时间:2023-11-30 20:48:43 24 4
gpt4 key购买 nike

给出以下 C 代码:

int x = atoi(argv[1]);
int y = (x & -x);
if (x==y)
printf("Wow... they are the same!\n");

什么 x 值会导致“哇……它们是相同的!”被打印?为什么?

最佳答案

所以。这通常取决于,但我可以假设,您的体系结构表示带有 U2 格式符号的数字(如果不是 U2 格式,则一切都是错误的)。让我们举个例子。

我们取 3,其表示如下:

0011

和-3。这将是:

~ 0011
+ 1
-------
1101

我们制作并且

  1101
& 0011
------
0001

所以:

1101 != 0001

这就是幕后发生的事情。您必须找到适合此模式的数字。我不知道什么样的数字适合它。但基于此你可以预测这一点。

关于c - 按位与表达式中操作数的可能值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32553927/

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