-
与 &
按位比照两个二进制数,如果对应的位都为 1,则后果为 1,否则为 01 & 3 == 1
9 & 8 == 8
-
或 |
按位比照两个二进制数,如果对应的位有一个 1,则后果为 1,否则为 0(1 | 3) == 3
-
异或 ^
按位比照两个二进制数,如果对应的位有且只有一个 1,则后果为 1,否则为 0(1 ^ 3) == 2
- 非 ~
按位对操作的二进制数取反,即 1 变 0,0 变 1,任何数的非运算符计算结果都是 -(x + 1)
一个数和它的取反数相加的后果总为 -1
-
左移 <<
左移会将二进制值的有效位数全副左移指定位数,被移出的高位 (最右边的数字) 抛弃,但符号会保留,低位 (最左边的数字) 会主动补 01 << 2 == 4
-
右移 >>
和左移相同的操作,将二进制的操作数右移指定位数,高位补 0,低位抛弃4 >> 2 == 1