温馨提示×

JavaScript位运算符怎么运算的

小亿
105
2023-10-10 22:37:21
栏目: 编程语言

JavaScript中的位运算符用于对数字的二进制表示进行操作。下面是常见的位运算符及其运算方式:

  1. 按位与(&):对两个数字的每个位执行逻辑与操作,只有两个位都为1时,结果才为1。

例如:10 & 6 的结果为 2,因为10的二进制表示为 1010,6的二进制表示为 0110,按位与操作后得到 0010。

  1. 按位或(|):对两个数字的每个位执行逻辑或操作,只要两个位中至少有一个为1,结果就为1。

例如:10 | 6 的结果为 14,因为10的二进制表示为 1010,6的二进制表示为 0110,按位或操作后得到 1110。

  1. 按位异或(^):对两个数字的每个位执行逻辑异或操作,两个位相同为0,不同为1。

例如:10 ^ 6 的结果为 12,因为10的二进制表示为 1010,6的二进制表示为 0110,按位异或操作后得到 1100。

  1. 按位非(~):对一个数字的每个位执行逻辑非操作,将每个位取反。

例如:~10 的结果为 -11,因为10的二进制表示为 0000 1010,按位非操作后得到 1111 0101,即 -11。

  1. 左移(<<):将一个数字的二进制表示向左移动指定的位数,右侧用0填充。

例如:10 << 2 的结果为 40,因为10的二进制表示为 0000 1010,左移2位后得到 0010 1000,即 40。

  1. 右移(>>):将一个数字的二进制表示向右移动指定的位数,左侧用0或1填充(取决于数字的符号)。

例如:10 >> 2 的结果为 2,因为10的二进制表示为 0000 1010,右移2位后得到 0000 0010,即 2。

  1. 无符号右移(>>>):将一个数字的二进制表示向右移动指定的位数,左侧用0填充。

例如:10 >>> 2 的结果为 2,因为10的二进制表示为 0000 1010,无符号右移2位后得到 0000 0010,即 2。

注意:

  • 位运算符只能应用于整数,如果应用于非整数,会将其转换为整数。

  • 位运算符会将数字转换为32位有符号整数形式。

0