繁体   English   中英

在以下陈述中,单数&是什么意思?

[英]What does the single & in the following statement mean?

strcat(b, ((x & z) == z) ? "1" : "0");

我了解strcat()函数和条件(三元)运算符。 但是我不知道(x & z) == z是什么意思。

&是按位AND运算符。

这里, (x & z) == z表示对xz执行按位与运算,如果该值等于z ,则...

参考:第6.5.10章, C11标准,“按位与运算符”

二进制&运算符的结果是操作数的按位与(即,当且仅当设置了转换后的操作数中的每个对应位时,结果的每个位才被设置)。

办法:

串连"1"到字符串b ,如果按位和xz是相同z ,否则串联"0"字符串b

x&z表示的按位安定xz

然后将结果与z进行比较。

如果结果与z相同,则条件评估为TRUE,否则为FALSE。

(x&z)== z表示在“ x”中,所有在“ z”中设置的位均被设置。

“ x”必须包含所有设置的位,或者另外还可以设置更多的位。 然后,此条件变为真。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM