gpt4 book ai didi

Arduino 和 Bitwise,意外的结果

转载 作者:行者123 更新时间:2023-12-04 16:41:07 27 4
gpt4 key购买 nike

在这里让我自己有点困惑。

我想测试一组位(3 位)是否包含某个位置的位。

if (B110 & B010 == B010)

(B110 是要检查的数字,B010 是我想看看有没有的位)

上面的代码没有给我预期的结果,B110 和 B101 都是真的。我很确定我需要使用 &(and) 来测试掩码 B010。

我的理解是 B110 & B010 将等于 B010,而 B101 & B010 将等于 B000。但是我的 if 语句是用两个测试位运行的吗?

我正在 Arduino 中编码,我确定这是我的一个简单误解,但不确定在哪里。

最佳答案

试试 if ((B110 & B010) == B010)
目前它运行为 if (B110 & (B010 == B010))这将永远是正确的。

this table显示,== 和 != 的优先级高于 &,|等等。

关于Arduino 和 Bitwise,意外的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6427971/

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