运算符

DETAILS

位运算符将操作数做32位元的二进制串,不是十进制或者八进制或者十六进制。返回的结果是标准的 JavaScript 数值

  • 位运算把运算元当做 32 位整数
  • 在二进制表现形式上操作

尽管 JavaScript 不直接支持无符号整数类型,但它的位运算符可以对数字的 32 位无符号整数表示进行操作。这是因为 JavaScript 的位运算符(如<<、>>、>>>)都是基于 32 位整数(整数范围从 0 到 2^32 - 1,即 0 到 4294967295)进行操作的

ECMA 中,有几个符号 | & ~ ^ << >> >>>。它们被称为运算符。

  • 按位与 &;都是 1 才是 1;Y = A & B
  • 按位或| 有一个 1 返回 1
  • 按位异或^ 两个相同返回 0;
  • 按位非 ~ 反转操作数
  • 算术右移 算术右移左边空出的位是根据高位是 0 和 1 来进行填充的
  • 无符号右移动

可以将输入信号通过逻辑门得到输出信号的这个过程当做一种运算过程,称为逻辑运算

>>>

无符号右移动用 3 个大于号 >>> 。对于负数,无符号右移会给空位补 0

无符号整数的运算

   
    const a = -2
    const b = a >>> 1

    console.log(b)

ON THIS PAGE