一、位或运算
1、其他位与0进行位或运算
1 | 0 = 1; //1与0进行位或运算,还是1
0 | 0 = 0;
由上可知:运算后其他位依旧不变(即置位)
2、其他位与1进行位或运算
1 | 1 = 1;
0 | 1 = 1;
由上可知:运算后其他位被置1
二、位与运算
1、其他位与0进行位与运算
1 & 0 = 0;
0 & 0 = 0;
由上可知:运算后其他位被清零
2、其他位与1进行位与运算
1 & 1 = 1;
0 & 1 = 1;
由上可知:运算后其他位依旧不变
三、总结
对一串二进制数中的某一位进行置位操作,而其他位保持不变,用——位或运算
eg:1010 0110 | 0000 1000 = 1010 1110 //对第四位置位
对一串二进制数中的某一位进行清零操作,而其他位保持不变,用——位与运算
eg:1010 0110 & 1111 1011 = 1010 0010 //对第三位清零
1010 0110 & ~(0000 0100) = 1010 0010 //对第三位清零