c- & | ^

背景

  • 处理对象:二进制数

  • 处理场景:更新二进制数

    • 具体场景中存在两个数据,一个是任意数据(数据value),一个是自定义数据(数据key),key可以运算符特性设置,得到期望的结果。下列中value为1010 1010, key为0000 1111
  • 下列示例只考虑正数,负数后续处理

1 &

规则:某位kv都为1则结果为1,其余为0

  • 0&0 = 0、0&1 = 0、1&0 = 0 、1&1 = 1

作用:使用1保留原数据,使用0更新某位为0

  • 1010 1010 & 0000 1111 = 0000 1010

2 |

规则:某位kv都为0则结果为0,其余为1

  • 0&0 = 0、0&1 = 1、1&0 = 1 、1&1 = 1

作用:使用0保留原数据,使用1更新某位为1

  • 1010 1010 | 0000 1111 = 1010 1111

3 ^

规则:某位kv相同为0,不同为1

  • 0&0 = 0、0&1 = 1、1&0 = 1 、1&1 = 0

作用:用0保留原数据,用1取反, 支持取反

  • 1010 1010 ^ 0000 1111 = 1010 0101

版权声明:
作者:Mr李
链接:https://www.techfm.club/p/216172.html
来源:TechFM
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>