您的位置:首页 > 其它

位运算

2016-04-15 10:52 246 查看
相信有一部分同学对位运算的功能还不是太了解,只是听说过,现在就和博主一起来了解一下吧!

在处理整型数值时,可以直接对组成整型数值的各个位进行操作。这意味着可以使用屏蔽技术获得整数中的各个位。位运算包括:

&(“与”)、|(“或”)、^(“异或”)、~(“非”)

这些运算符在位模式下工作。例如,如果n是一个整型变量,并且用二进制表示的n从右数第四位为1,那么

int fourth=(n & 0b1000) / 0b1000;//加上前缀0b就可以写二进制数


返回1;否则返回0。通过运用2的幂次方的&运算可以将其他位屏蔽掉,而只保留其中的某一位。

另外,“>>”和“<<”运算符将二进制进行右移或左移操作。当需要建立位模式屏蔽某些位时,使用这两个运算符十分方便:

int fourth=(n & (1<<3)) >> 3;
最后,>>>运算符将用0填充高位;>>运算符用符号位填充高位。没有<<<运算符。

警告:对移位运算符右侧的参数需要进行模32的运算(除非左边的操作数是long类型,在这种情况下需要对右侧操作数模64)。例如1<<35与1<<3或8是相同的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: