gpt4 book ai didi

c中的组合位和逻辑运算符

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

我对其中一些操作感到困惑(组合按位和逻辑操作)。

如果 x = 0x3F 且 y = 0x75,找到 diff c 表达式的字节值:

1) x&y
2) x | y
3) ~x | ~y
4) x & ~y
5) x && y
6) x || y
7) !x || !y
8) x && ~y

尝试

首先,我将十六进制转换为二进制:

x = 00111111
y = 01110101

这是我的尝试

1) 00110101
2) 01111111
3) 01111111
4) x & not y? isn't the bang operator a logical operator? what is the bit representation of !y?
5) x && y = TRUE = but how is that represented as a byte? 11111111?
6) x || y = how can this be represented as a byte?
7) !x || y = ???
8) x && ~y = ?????

最佳答案

逻辑非运算符 ! 将“真”值变为“假”,反之亦然。由于任何非零值都被视为“真”,因此运算符简单地为任何非零值返回零。

这导致 x & !y 为零,因为用零屏蔽任何内容都是零。

“true”和“false”的逻辑值分别指定为10。这意味着逻辑运算符(即 &&|| 或一元 !)的结果始终为 10

如果结合上面的两个语句,您就会明白为什么使用双逻辑非 (!!)(您可能在某处看到过)总是返回 01

关于c中的组合位和逻辑运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19045184/

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