头图
  1. 与 &
    按位对比两个二进制数,如果对应的位都为 1,则结果为 1,否则为 0

    1 & 3 == 1

    9 & 8 == 8

  1. 或 |
    按位对比两个二进制数,如果对应的位有一个 1,则结果为 1,否则为 0

    (1 | 3) == 3
    20230617110136.png

  1. 异或 ^
    按位对比两个二进制数,如果对应的位有且只有一个 1,则结果为 1,否则为 0

    (1 ^ 3) == 2

  1. 非 ~
    按位对操作的二进制数取反,即 1 变 0,0 变 1,任何数的非运算符计算结果都是 -(x + 1)
    一个数和它的取反数相加的结果总为 -1
  1. 左移 <<
    左移会将二进制值的有效位数全部左移指定位数,被移出的高位(最左边的数字)丢弃,但符号会保留,低位(最右边的数字)会自动补0

    1 << 2 == 4

  1. 右移 >>
    和左移相反的操作,将二进制的操作数右移指定位数,高位补0,低位丢弃

    4 >> 2 == 1


action
12 声望0 粉丝