Javascript - 按位或运算符 |

2021-12-31
1 min read

开始

阅读前,需了解二进制取反、反码、补码知识

理解

按位或位运算即一对二进制数据比对中,只要其中一个数为1,对比结果就为1,其余为0

例子

先看正整数的,如 5 | 3

  • 先获取两个数字的二进制数据
0 0 0 0 0 1 1 0
0 0 0 0 0 0 1 1
-------------------------
0 0 0 0 0 1 1 1

结果:7

再看负整数的,如 -4 | 2

  • 同样先获取两个数字的二进制数据

负数的情况下需要先进行补码再进行运算,即先对 -4 转为二进制,再进行补码,先看如下步骤

-4 二进制数据

1 0 0 0 0 1 0 0

再进行补码 (补码就是在反码的基础上最后一位加1)

1 1 1 1 1 1 0 0

以上就是 -4 进行补码后的二进制数据,再进行最后一步,跟 2 的二进制数据进行或运算,即

1 1 1 1 1 1 0 0
0 0 0 0 0 0 1 0
-------------------------
1 1 1 1 1 1 1 0

结果:2

用场