目录
一、位逻辑运算符与位逻辑表达式
1. 位逻辑运算符
2. 位逻辑表达式
二、逗号运算符与逗号表达式
一、位逻辑运算符与位逻辑表达式
1. 位逻辑运算符
位逻辑运算符包括位逻辑与、位逻辑或、位逻辑非和取补
注意:表中除了最后一个运算符是单目运算符外,其他都是双目运算符,这些运算符只能用于整型表达式。位逻辑运算符通常用于对整型变量进行位的设置、清零和取反,以及对某些选定的位进行检测。
2. 位逻辑表达式
在程序中,位逻辑运算符一般被程序员用作开关标志。
示例:位逻辑与运算符的典型应用,对某个语句的位设置进行检查:
上述语句的含义是:if语句对后面括号中的表达式进行检测。如果表达式返回的是真值,则执行下面的语句块,否则跳过该语句块,不执行。其中,运算符用来对BITMASK变量的位进行检测,判断其是否与Field变量的位有相吻合之处。
二、逗号运算符与逗号表达式
逗号表达式称为顺序求值运算符。逗号表达式的一般形式如下:
逗号表达式的求解过程是:先求解表达式1,再求解表达式2,一直求解到表达式n。整个逗号表达式的值是表达式n的值。
再看下面代码:
在上面的语句中,Value所得到的值为7,而非12。整个逗号表达式的值不应该是最后一个表达式的值吗?为什么不等于12呢?答案在于优先级的问题,由于赋值运算符的优先级比逗号运算符的优先级高,因此先执行赋值的运算。如果要先执行逗号运算,则可以使用括号运算符,代码如下:
使用括号之后,Value的值为12。