gpt4 book ai didi

c - 如何在 C 中使用逆函数

转载 作者:太空狗 更新时间:2023-10-29 16:28:11 27 4
gpt4 key购买 nike

[如何使用 ~ 运算符]

我有一个结构说 Alpha。我知道 Alpha 中元素的值(比如 a),它可以是 01 - 我想要相同结构的其他元素取 Alpha.a 的倒数。例如:

if Alpha.a = 1
then Alpha.b = 0

反之亦然

我试过:

Alpha.b = ~ (Alpha.a)

但不幸的是它不起作用 - 当 Alpha.a1 时,Alpha.b 被设置为 254

有什么想法吗?

感谢和问候,

桑普拉特

最佳答案

在C语言中,true用1表示,false用0表示。但是,在比较中,任何非false的值都被视为true。

! 运算符进行 bool 值 反转,因此 !0 为 1,!1 为 0。

但是,~ 运算符执行按位 反转,其中值中的每一位都被替换为它的倒数。所以 ~0 是 0xffffffff (-1)。 ~1 是 0xfffffffe (-2)。 (-1 和 -2 都被认为是真的,这可能会让您感到困惑。)

你想要的是!,而不是~

关于c - 如何在 C 中使用逆函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6508585/

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