位操作运算

置位/复位

  • 要求:置位int/char等数据中第pos位为0或1
  • 原理:
    1 & 1 = 1
    0 & 1 = 0
    1 | 1 = 1
    0 | 1 = 1
    -> A & 1 = A; A | 1= 1;
    0 & 0 = 0;
    1 & 0 = 0;
    0 | 0 = 0;
    1 | 0 = 1;
    -> A & 0 = 0; A | 0 = A;
  • 结论
    置1: 按位或1;
    置0: 按位与0;
    保持不变:与1/或0
  • 示例:
    置8bit数据data第3位(0~7):
    置1:data | 00001000
    置0:data & 11110111
    00001000 = (0x01<<3)
    11110111 = ~(0x01<<3)
扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄