1.| 位或,二进制两个数存在1则取1,可用于数字或字符,字符其实是ASCII码的数字,所以还是用于数字。
如
5|9,即
5: 0101|
9: 1001=
1101
5|9结果为1101,转换为10进制即为13
2.&位与,二进制同位同为1即为1,否则为0;
如
21&10
10101&
01010=
00000
21&10结果为00000,即0
3.^异或,两者不同取1,二者相同取0
如26^23,转换为二进制为
11010^
10111=
01101
26^23的结果为01101,即13
4.<< 左移,如a<
3<<2;
即0011右移两位为
1100,结果为12;
5.>>右移,a>>b,即向右移a位,末位舍弃,可以认为a除以2的b次方舍余,如
30>>3;
即11110右移3位为
11.110,这里不应该有小数的,这里加上是为了更好的理解。最后的结果为11,即3