算法设计(一) 比特位操作

  C语言支持全部的位操作符(Bitwise Operators)。位操作是对字节或字中的位(bit)进行测试、置位或移位处理,
    
  6种位操作符的形式与含义如下:
 
  & :按位“与”(AND);
 
  | :按位“或”(OR);
 
  ^ :按位“异或”(XOR);
 
  ~ :“取反” (NOT);
 
  》 :数据右移;
 
  《 :数据左移;
 
  1) 按位“与”运算
 
  按位“与”运算符 & 的作用是对运算符两侧以二进制表达的操作数按位分别进行“与”运算,而这一运算是以数中相同的位(bit)为单位的。
操作的规则是:仅当两个操作数都为1时,输出的结果才为1,否则为0。
 
  例如:
 
  a = 0x88,b = 0x81,则a & b 的运算结果如下:
 
  0x88 1000 1000 a数
 
  & 0x81 1000 0001 b数
 
  = 1000 0000
 
  其中,& 运算符让a数0x88与B数0x81的1位与1位、2位与2位……7位与7位分别相“与”。由于“与”运算的操作规则是,两个操作数中各位只要有1个为0,其结果中对应的位就为0。而a数与b数中只有最高位(第7位)均为1,因而该位结果为1,其它各位结果都为0。
 
  通常我们可把按位“与”操作 & 作为关闭某位(即将该位置0)的手段,例如我们想要关闭a数中的第3位&#

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值