“|=
”运算符是 C/C++ 语言中的一个复合赋值运算符,它将位或运算和赋值操作合并在一起,用于对一个整型变量的值进行按位或运算后再将结果赋值回这个变量。其语法形式如下:
a |= b; // 相当于 a = a | b;
其中,a
和 b
都是整型变量。|
符号表示按位或运算符,其作用是对 a
和 b
的二进制表示中的每一位进行逻辑或运算,将结果存储到新的整数中。
例如,如果 a
的值为 0b00110101
,b
的值为 0b11001100
,那么执行 a |= b
后,a
的值将变为 0b11111101
,即对应二进制位上的值进行按位或运算后的结果。
a = 0b00110101;
b = 0b11001100;
a |= b;后
a 的值将变为 0b11111101,即对应二进制位上的值进行按位或运算后的结果。
复合赋值运算符 |=
的作用是将运算结果与原变量的值进行合并,相当于执行以下代码:
a = a | b;
与按位或运算符 |
相比,复合赋值运算符 |=
具有以下两个优点:
-
简化代码:使用复合赋值运算符可以将多个语句合并成一条语句,简化代码结构,提高代码的可读性和可维护性。
-
提高效率:使用复合赋值运算符可以避免多次对同一变量进行赋值操作,减少中间变量的使用,从而提高代码的执行效率。
需要注意的是,位或运算符 |
和复合赋值运算符 |=
只能用于整型数据类型,且只对二进制位进行操作,不能对其他数据类型或非二进制数据进行操作。
关联参考博文:“&”是什么含义?与运算&入门级讲解;什么是与运算?
笔记记录,如有误,感谢指教;