- 按位或运算符为:|
- 功能:参加运算的两个数据,按二进制位进行“或”运算。
- 运算规则:
0 | 0 = 0
,0 | 1 = 1
,1 | 0 = 1
,1 | 1 = 1
。即 :参加运算的两个数据只要有一个为 1,其值为 1。*例如:
#include<iostream>
using namespace std;
int OrOperator(int &a, int &b)
{
return a | b;
}
int main()
{
// 3|5 即 0000 0011 | 0000 0101 = 0000 0111 因此,3|5的值为7
int a = 3, b = 5;
cout << OrOperator(a, b) << endl; // 7
return 0;
}
- 负数按补码形式参加按位或运算。
例如: -3 | 5
即 1111 1101 | 0000 0101 = 1111 1101
因此,-3 | 5的值为-3
- “或运算”的特殊作用:
- 常用来对一个数据的某些指定 位 置为1。方法:找到一个数,对应X要置1的位,该数的对应位为1,其余位为零。例:将X=10100000的低4位置1 ,用 X | 0000 1111 = 1010 1111即可得到。