C++ 笔记
C++ 中 与、或、亦或按位运算
按位与运算(&)
运算规则:0&0=0; 0&1=0;1&1=1;1&0=0;
清零或者取位
- 清零 ,对应位为0,其他为1与值进行与运算,可以清零对应位;
- 取位 ,对应位为1,其他位位0与值进行与运算,可以获得对应位;
按位或运算(|)
运算规则:0|0=0; 0|1=1;1|1=1;1|0=1;
- 置1 ,对应位为1,与值进行或运算,可以对应位置1
按位异或运算(^)
运算规则:0^0=0; 0^1=1; 1^0=1; 1^1=0;
可使特定位翻转或保留原值
- 特定位翻转,特定位与一个特定位为1,其余位为0的数做按位异或运算,可以是特定位从0 变1 从1变0 值翻转
- 保留原值,特定位与与一个全为0的数做按位异或运算,得到原值