假定A = 14, B = 11,转换为二进制:A = 1110, B = 1011。
A | 1 | 1 | 1 | 0 | |
---|---|---|---|---|---|
B | 1 | 0 | 1 | 1 | |
A&B | 1 | 0 | 1 | 0 | |
A\ | B | 1 | 1 | 1 | 1 |
A^B | 0 | 1 | 0 | 1 |
A&B 转换为十进制等于10;
A|B 转换为十进制等于15;
A^B 转换为十进制等于5;
& 是求与,两个数都为1才为1,其余情况为0;
| 是求或,两个数都为0才为0,其余情况为1;
^ 是求异,两个数相同时为0,不同时为1;
还有 << 左移运算,将数字的二进制左移n位,或是将数字的十进制乘以2的n次方,由”<<”右边的数指定移动的位数,高位丢弃,低位补0;
N * 2 等同于 N << ㏒₂2 = N << 1
“>>” 右移运算,将数字的二进制右移n位,或是将数字的十进制除以2的n次方,由”>>”右边的数指定移动的位数;
N / 2 等同于 N >> ㏒₂2 = N >> 1