按位或

按位或

目录导航

简介

C/C++中的“按位或”

规则:

1|1=1

1|0=1

0|1=1

0|0=0

按位或运算 按位或运算符“|”是双目运算符。其功能是参与运算的两数各对应的二进位(也就是最后一位)相或。只要对应的二个二进位有一个为1时,结果位就为1。参与运算的两个数均以补码出现。 例如:9|5可写算式如下: 00001001|00000101 00001101 (十进制为13)可见9|5=13

main()

{

int a=9,b=5,c;

c=a|b;

printf("a=%d\nb=%d\nc=%d\n",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和3
5 | 3
先把它们换成二进制表示
101 , 011
按照刚才的规则:
1 0 1
| 0 1 1
--------
1 1 1
结果是二进制的111,也就是十进制的7。

相关百科
返回顶部
产品求购 求购