按位或运算符“|”是双目运算符。其功能是参与运算的两数各对应的二进位相或。只要对应的二个二进位有一个为1时,结果位就为1。参与运算的两个数均以补码出现。按位或运算按位或运算符“|”是双目运算符。整数在计算机中用二进制的位来表示,C语言提供一些运算符可以直接操作整数中的位,称为位运算,这些运算符的操作数都必须是整型的。
按位或
C语言术语
中文名
按位或领域
计算机语言
C/C++类型
位运算,竖式运算符号
|简介
C/C++中的“按位或”
规则:
1|1=1
1|0=1
0|1=1
0|0=0
按位或运算按位或运算符“|”是双目运算符。其功能是参与运算的两数各对应的二进位(也就是最后一位)相或。只要对应的二个二进位有一个为1时,结果位就为1。参与运算的两个数均以补码出现。例如:9|5可写算式如下:00001001|0000010100001101(十进制为13)可见9|5=13
main()
{
inta=9,b=5,c;
c=a|b;
printf("a=%dnb=%dnc=%dn",a,b,c);
}
位运算
整数在计算机中用二进制的位来表示,C语言提供一些运算符可以直接操作整数中的位,称为位运算,这些运算符的操作数都必须是整型的。
&按位与,|按位或,^按位异或
AND(位与&)OR(位或|)XOR(位异或^)
1&1=1,1|1=1,1^1=0
1&0=0,1|0=1,1^0=1
0&1=0,0|1=1,0^1=1
0&0=0,0|0=0,0^0=0
竖式运算
按位或是位运算的一种,是将两个数据的二进制表示右对齐后,按位进行运算,两个对应的二进制位中只要一个是1,结果对应位就是1。1|1=1,1|0=1,0|1=1,0|0=0比如说十进制数5和35|3先把它们换成二进制表示101,011按照刚才的规则:101|011--------111结果是二进制的111,也就是十进制的7。
参考资料
位操作·华为云