gpt4 book ai didi

c - 相等运算符与按位 AND 运算符的用法

转载 作者:行者123 更新时间:2023-12-01 01:25:38 25 4
gpt4 key购买 nike

在C语言中,我经常看到这样形式的if语句:

#define STATUS 0x000A
UINT16 InterruptStatus;
if (InterruptStatus & STATUS)
{
<do something here....>
}

如果我有这个声明,它在处理时间上会有什么不同或者这不是首选/替代方式的任何其他原因吗?

#define STATUS 0x000A
UINT16 InterruptStatus;
if (InterruptStatus == STATUS)
{
<do something here....>
}

最佳答案

嗯,它们相同。

如果是 bitwise AND ,操作数的两个不同值可以产生true,而对于equality , 两者必须相同。

将十进制值 53 视为操作数。

  • 按位与将为条件检查生成 TRUE 值(5 & 3 == 1)。
  • 相等将产生 FALSE 值(5 ==3 ==> false)

所以它们不是替代品,真的。

按位运算广泛用于检查标志变量的特定位是“设置”还是“未设置”。

关于c - 相等运算符与按位 AND 运算符的用法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42479651/

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