复合位或
来自Labplus盛思维基百科
Tangliufeng(讨论 | 贡献)2018年3月29日 (四) 12:11的版本 (创建页面,内容为“*'''<big>描述</big>''' 复合按位或操作符(| =)经常用于变量和常量“设置”(设置为1),尤其是变量中的某一位。 *'''<big>语…”)
- 描述
复合按位或操作符(| =)经常用于变量和常量“设置”(设置为1),尤其是变量中的某一位。
- 语法
x |= y; //等价于 x = x | y;
- 参数
x: char,int 或long 类型
y:整数,int 或long 类型
- 例如
首先,回顾一下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;