gpt4 book ai didi

c - 为什么C语言中1^-1 = -2?

转载 作者:行者123 更新时间:2023-11-30 21:45:53 24 4
gpt4 key购买 nike

谁能解释一下下面的代码中 x^-1 是如何执行的。我尝试过但没有运气。我明白 x^1 是如何执行的。

#include <stdio.h>
int main(void)
{
int a=220, b=221, c=3;
printf("a^1= %d ,, a^-1= %d \n", a^1, a^-1);
printf("b^1= %d ,, b^-1= %d \n", b^1, b^-1);
printf("c^1= %d ,, c^-1= %d \n", c^1, c^-1);
return 0;
}
/* output: a^1= 221 ,, a^-1= -221
b^1= 220 ,, b^-1= -222
c^1= 2 ,, c^-1= -4 */

最佳答案

^ 运算符是 XORexclusive-or C 中的运算符为了简单起见,考虑 8 位有符号值,使用典型的 two's-complement encodingint 类型将以同样的方式工作。

Decimal   Binary
1 00000001
-1 11111111
-------- XOR
-2 11111110

请注意,一元运算符 - 的优先级高于 ^ 位运算符。

关于c - 为什么C语言中1^-1 = -2?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45175408/

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