凯西
C语言新手。我了解指针和十六进制格式,但不确定'&0x10'在做什么。有人可以解释一下,也可以在主题上为我提供建议以进行研究和自学。谢谢。
if(ptr1->name & 0x10)
{
prt2->indicator1 |= 0x80;
}
大威利多斯
我不确定'&0x10'在做什么。有人可以解释一下,也可以在主题上为我提供建议以进行研究和自学。谢谢。
if(ptr1->name & 0x10)
正在获取ptr1->name
is的值并将其与进行按位与0x10
。
如果您了解十六进制,则知道0x10
十进制为16,并且大概知道16为2 ^ 4,这意味着在二进制中该值为0b10000
。
如果此操作的结果为非零,则表明我们ptr1->name
已设置的第4位(位编号从0开始,例如2 ^ 0 = 0x1),并将导致执行该行prt2->indicator1 |= 0x80;
在C中检查按位运算符
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
编辑于
我来说两句