c语言关系运算一段运算

二进制位运算就是把每一个位都按照上述规则计算以二进制查看一个32位整数,它是由32个0或1的序列组成如果你将每个位置看作一个开关:0-关,1-开你就不难理解他的用途了。

检测第二位是否存在 (不存在):
=
将第二位置为1 (先前为0):
=
检测第二位是否存在 (存在):
=
将第二位置为1 (先前为1):
=
将第二位置为0 (先前为1):
=
将第②位置为0 (先前为0):

二进制运算的优点就是将某位清零的时候不需要知道之前是1还是0设置1的时候不需要知道之前是1还是0,可以检测某个位昰1还是0通俗地讲就是用32位二进制数字记录最多32个不同开关的排列组合,并可以检测或设置任意一个开关是否为开或者关

对于 5 & 2 这样的表達式,你的第一个反应应该是:它是检测 5 中是否包含 2 这个标志位的而不是关心它的“十进制”结果,没有意义换算成二进制,一目了嘫不过通常,都是将这些二进制常量定义为宏名称这样更直观如我们在 Windows 编程中非常常见的窗口样式,就是二进制位的一个经典范例:

我要回帖

更多关于 c语言关系运算 的文章

 

随机推荐