位运算的特殊运用

位运算的特殊运用

位运算主要有。&。|。~,^等几种。这几种在编程方面能极大地优化程序,所以掌握他们势在必行,所以就总计一下。

&:

主要能够用来求某数的当中一个二进制位。经常使用的有求某个数转化为二进制后的最后一位。

能够用 a&(-a)进行高速求解

|:

能够将某个数转化为二进制后的某些位设为1,通过该数与想要对应位数为1其它位为零的数进行或运算就可以

~:

能够间接转化某个数:如:求32位的最大值。

能够用~0u=2^32-1;

^:

异或则能够用来不借助中间变量来实现两个数的交换。还能够将一个数的某些位取反

比如:交换a和b 能够用 a=a^b;b=b^a;a=a^b;(另一种方法。就是a=a+b;b=a-b;a=a-b;也能实现不借助中间变量来实现两者的转化)。 

 

转载于:https://www.cnblogs.com/lxjshuju/p/6849891.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值