码迷,mamicode.com
首页 > 其他好文 > 详细

位运算的特殊运用

时间:2014-08-05 09:37:39      阅读:197      评论:0      收藏:0      [点我收藏+]

标签:位运算   32位   

位运算的特殊运用

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

&:

主要可以用来求某数的其中一个二进制位,常用的有求某个数转化为二进制后的最后一位。

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

 

位运算的特殊运用,布布扣,bubuko.com

位运算的特殊运用

标签:位运算   32位   

原文地址:http://blog.csdn.net/ice_alone/article/details/38379297

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!