想必大家都了解&&(且运算符),||(或运算符),在C语言的位运算中 ,位或运算|,位与运算&,异或^,取反~。等位运算符,都是对操作数的二进制形式进行相关的运算。
位与运算&:
与且相同的是,该运算符也是相同则取该位上所对应的数,否则取0。
如下:
左操作数 右操作数 结果
1 0 0
0 0 0
1 1 1
列如:1&2
0 0 0 1
0 0 1 0
位与结果 0 0 0 0
结果为 0
位或运算|
与或比较相同的是,位或运算是指把匹配到的,有1则取1,相同也取相同的那个数。
例如
左操作数 右操作数 结果
1 0 1
0 0 0
1 1 1
列如: 1|2
0 0 0 1
0 0 1 0
位或结果: 0 0 1 1
结果为: 3
取反运算~:
是一个单目运算符
顾名思义,取反操作就是把所有的数遇0取1,余1取0。
列如:
操作数
0 1 0 1 0 1
取反结果: 1 0 1 0 1 0
eage: 2~
0 0 1 0
取反结果: 1 1 0 1
结果为-1
位异或^:
简单来说,就是相同则取0,不同则取1,是双目运算符。
列如:
左运算符 右运算符 结果
1 0 1
0 0 0
1 1 0
0 1 1
eage: 1^2
0 0 0 1
0 0 1 0
异或结果: 0 0 1 1
结果为: 3
网友评论