运算符 | 描述 |
---|---|
&(位与) | 当两个二进制操作位都为1时,结果就为1 |
|(位或) | 当两个二进制操作位有1个为1时,结果就为1 |
^(位异或) | 当两个二进制操作位只有1个为1时,结果为1 |
~(位非) | 操作位的每个位都取反(就是0变成1,1变成0) |
<<(左移) | 二进制左移运算符。左操作数的值向左移动右操作数指定的位数。 |
>>(右移) | 二进制右移运算符。左操作数的值向右移动右操作数指定的位数。 |
pq实例图
p | q | p & q | p | q | p ^ q |
---|---|---|---|---|
0 | 0 | 0 | 0 | 0 |
0 | 1 | 0 | 1 | 1 |
1 | 1 | 1 | 1 | 0 |
1 | 0 | 0 | 1 | 1 |
如下 :
int x=12,y=10;
int a;
a=x&y; //a=8
下面是计算试子的和加减法一样
上面说&运算时,当两个二进制操作位都为1时,结果就为1
换下来就是 1000(二进制) =8(十进制) 12&10=8
位非怎么运算呢?