开始
阅读前,需了解二进制取反、反码、补码知识
理解
按位或位运算即一对二进制数据比对中,只要其中一个数为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