用户工具

站点工具


reference:language:bitwisecompoundor

compound bitwise OR (|=)

描述

复合操作符(| =)经常用于变量和常量“设置”(设置为1),尤其是变量中的某一位。

语法

x |= y;   //等价于 x = x | y; 

参数

x: char,int或long类型

y: 整数,字符或长整型常量

例如

首先,回顾一下OR(|)运算符

   0  0  1  1    运算元1
   0  1  0  1    运算元2
   ----------
   0 1 1 1(运算元1 | 运算元2) - 返回的结果

如果变量myByte中某一位与0经过按位或运算后不变。

myByte | B00000000 = myByte;

与1经过或运算的位将变为1.

myByte | B11111111 B11111111;

因此 - 设置变量的某些位为0和1,而变量的其他位不变,可与常量B00000011进行按位与运算(| =)

1 0 1 0 1 0 1 0变量
0 0 0 0 0 0 1 1
----------------------
1 0 1 0 1 0 1 1

变量保持不变 位设置

接下来的操作相同,只是将变量用x代替

X X X X X X X X变量
0 0 0 0 0 0 1 1 mask
----------------------
X X X X X X 1 1

变量保持不变 位设置

同上:

myByte = B10101010;
 
myByte | = B00000011 == B10101011;
reference/language/bitwisecompoundor.txt · 最后更改: 2017/04/07 10:03 (外部编辑)