位运算与移位运算

本文使用btye类型举例。

1.位运算

&按位与运算。对应位置,同为1则为1,否则为0。

 | 按位或运算。对应位置,同为0则为0,否则为1。

 ~按位取反运算,每一位0变1,1变0。

 ^按位异或运算,对应位相同为0,不同为1。

在某些情况下,位运算的运算效率比直接对数字进行加减乘除高很多。

2.移位运算

<< 左移运算,右边空出来的位用0填补高位左移溢出则舍弃该高位。左移几位其实就是这个数 *2 的几次幂。

 

>> 右移运算,

左边空出来的位用0或1填补,正数用0负数用1填补。右移几位其实就是这个数/2的几次幂 。

数据进行右移时,高位出现的空位,无论原高位是什么,空位都用0补。

整型默认是使用int,所以计算无符号右移时,是按照32位二进制数进行计算的,所以结果一般不对。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值