位运算的特殊运用

Posted lxjshuju

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了位运算的特殊运用相关的知识,希望对你有一定的参考价值。

位运算的特殊运用

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

&:

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

能够用 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;也能实现不借助中间变量来实现两者的转化)。 

 

以上是关于位运算的特殊运用的主要内容,如果未能解决你的问题,请参考以下文章

js运算符的一些特殊用法

C#位运算实际运用

如何优雅地运用位运算实现产品需求?

位运算在排序算法中的运用

C语言面试每日一题:位运算符的运用

二进制-高效位运算