移位操作符

移位(二进制)操作符的符号是:

<<  左移操作符

>>  右移操作符

移位操作符的操作数只能是整数

而操作的是一个数的二进制

而一个整数的二进制表示形式有三种:原码,反码,补码

例:10的二进制表示为1010

而整形占四个字节(32个bite位)

也就是00000000000000000000000000001010————原码(正数的原码反码和补码相同)

例:-10的二进制表示为

10000000000000000000000000001010————原码

11111111111111111111111111110101————反码

11111111111111111111111111110110————补码

三者关系为:

原码->反码    符号不变,其他位按位取反

反码->补码    +1

补码->反码    -1

反码->原码    取反

补码->原码    取反,+1

而区分一个数为正还是负,看最高位,也就是第一位,0则是正数,1则是负数

而内存中存储的起始是:补码的二进制

所以参与移位的是补码

<<    左移

以10为例

原码00000000000000000000000000001010

左移后0|00000000000000000000000000010100

最左边移出来的舍弃,末尾补零,负数也同样计算

>>右移

以10为例

00000000000000000000000000001010———原码

右移后00000000000000000000000000000101|0

最右边舍弃,一般来说,左边补的是符号位

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值