位运算符对整数在内存中的二进制位进行操作。假定 A 为60,B 为13
按位与运算符 &
其功能是参与运算的两数各对应的二进位相与。同时为1则结果为1,否则为0。
(A & B)
结果为 12, 二进制为 0000 1100
特点:与运算的结果小于或等于 A,B 中的最小值。
按位或运算符 |
其功能是参与运算的两数各对应的二进位相或,同时为0则结果为0,否则为1.
(A | B)
结果为 61, 二进制为 0011 1101
按位异或运算符 ^
其功能是参与运算的两数各对应的二进位相异或,当两对应的二进位相异时,结果为1,否则为0。
(A ^ B)
结果为 49, 二进制为 0011 0001
左移运算符 <<
左移n位就是向高位移动,就是乘以2的n次方。 其功能把 << 左边的运算数的各二进位全部左移若干位,由 << 右边的数指定移动的位数。
A << 2
结果为 240 ,二进制为 1111 0000
于是 2 的 10 次方 可以表示为 1 << 10
右移运算符 >>
右移n位就是除以2的n次方。 其功能是把 >> 左边的运算数的各二进位全部右移若干位, >> 右边的数指定移动的位数。
A >> 2
结果为 15 ,二进制为 0000 1111