用户工具

站点工具


reference:language:bitwisecompoundor

差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

reference:language:bitwisecompoundor [2017/04/07 10:03] (当前版本)
行 1: 行 1:
 +====== compound bitwise OR (|=) ======
 +
 +===== 描述 =====
 +
 +复合操作符(| =)经常用于变量和常量“设置”(设置为1),尤其是变量中的某一位。
 +===== 语法 =====
 +<​code>​
 +x |= y;   //​等价于 x = x | y; 
 +</​code>​
 +===== 参数 =====
 +
 +x: char,int或long类型
 +
 +y: 整数,字符或长整型常量
 +===== 例如 =====
 +
 +首先,回顾一下OR(|)运算符
 +<​code>​
 +   ​0 ​ 0  1  1    运算元1
 +   ​0 ​ 1  0  1    运算元2
 +   ​----------
 +   0 1 1 1(运算元1 | 运算元2) - 返回的结果
 +</​code> ​
 +如果变量myByte中某一位与0经过按位或运算后不变。
 +<​code>​
 +myByte | B00000000 = myByte;
 +</​code>​
 +与1经过或运算的位将变为1.
 +<​code>​
 +myByte | B11111111 B11111111;
 +</​code>​
 +因此 - 设置变量的某些位为0和1,而变量的其他位不变,可与常量B00000011进行按位与运算(| =)
 +<​code>​
 +1 0 1 0 1 0 1 0变量
 +0 0 0 0 0 0 1 1
 +----------------------
 +1 0 1 0 1 0 1 1
 +</​code> ​
 +变量保持不变
 +位设置
 + 
 + 
 +接下来的操作相同,只是将变量用x代替
 +<​code>​
 +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
 +</​code> ​
 +变量保持不变
 +位设置
 + 
 +同上:
 +<​code>​
 +myByte = B10101010;
 + 
 +myByte | = B00000011 == B10101011;
 +</​code>​
 +
  
reference/language/bitwisecompoundor.txt · 最后更改: 2017/04/07 10:03 (外部编辑)