C语言的a|b是什么意思?什么是按位或?

如题所述

a|b这个就是按位或
按位或是位运算的一种,是将两个数据的二进制表示右对齐后,按位进行运算,两个对应的二进制位中只要一个是1,结果对应位就是1
1|1=0,1|0=1,0|1=1,0|0=0
比如说十进制数2和1
2|1
先把它们换成二进制表示
10,01
按照刚才的规则:
10
|
01
--------
11
结果是二进制的11,也就是十进制的5
温馨提示:内容为网友见解,仅供参考
第1个回答  2020-01-22
举个例子
数字
1
转换成二进制的8位数据就是
00000001
数字3
转换成
二进制就是
00000011
1与3(1&3)
就是把
对应的位想与(0&0为0,1&0为0,1&1为1)
结果为
00000001
1或3(1|3)就是把
对应的位想或(0|0为0,1|0为1,1|1为1)
结果为
00000011
第2个回答  2020-01-19
就是if
(a>b)
a=a;

else

a=b;

?:是一种运算符

因为()比?:优先级高,所以()完全没必要,可以删去。另外,鄙视某位复制我的人
相似回答