9、位和逗号的运算符与表达式

目录

一、位逻辑运算符与位逻辑表达式

1. 位逻辑运算符

2. 位逻辑表达式

二、逗号运算符与逗号表达式


一、位逻辑运算符与位逻辑表达式

1. 位逻辑运算符

位逻辑运算符包括位逻辑与、位逻辑或、位逻辑非和取补

注意:表中除了最后一个运算符是单目运算符外,其他都是双目运算符,这些运算符只能用于整型表达式。位逻辑运算符通常用于对整型变量进行位的设置、清零和取反,以及对某些选定的位进行检测。

2. 位逻辑表达式

在程序中,位逻辑运算符一般被程序员用作开关标志。

示例:位逻辑与运算符的典型应用,对某个语句的位设置进行检查:

扫描二维码关注公众号,回复: 14853314 查看本文章

上述语句的含义是:if语句对后面括号中的表达式进行检测。如果表达式返回的是真值,则执行下面的语句块,否则跳过该语句块,不执行。其中,运算符用来对BITMASK变量的位进行检测,判断其是否与Field变量的位有相吻合之处。

二、逗号运算符与逗号表达式

逗号表达式称为顺序求值运算符。逗号表达式的一般形式如下:

逗号表达式的求解过程是:先求解表达式1,再求解表达式2,一直求解到表达式n。整个逗号表达式的值是表达式n的值。

再看下面代码:

在上面的语句中,Value所得到的值为7,而非12。整个逗号表达式的值不应该是最后一个表达式的值吗?为什么不等于12呢?答案在于优先级的问题,由于赋值运算符的优先级比逗号运算符的优先级高,因此先执行赋值的运算。如果要先执行逗号运算,则可以使用括号运算符,代码如下:

使用括号之后,Value的值为12。

猜你喜欢

转载自blog.csdn.net/qq_25990967/article/details/128621674