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