位运算符

2023-06-16  本文已影响0人  LongfeiSong
  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

  2. 左移 <<
    左移会将二进制值的有效位数全部左移指定位数,被移出的高位(最左边的数字)丢弃,但符号会保留,低位(最右边的数字)会自动补0
    1 << 2 == 4


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


上一篇 下一篇

猜你喜欢

热点阅读