位运算

相信有一部分同学对位运算的功能还不是太了解,只是听说过,现在就和博主一起来了解一下吧!

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

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

这些运算符在位模式下工作。例如,如果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是相同的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值