关于操作位运算符之左移右移注意事项

结论:
1. 位运算符操作的都是整型的数据
2. << (左移):在一定范围内,每向左移1位,相当于 * 2
    >> (右移):在一定范围内,每向右移1位,相当于 / 2
 

        我们基本上都能从其他的学习渠道上了解到上面所述的结论,但是它有一个前提叫“在一定范围内”,如果超出“这个范围”会如何呢?今天我们来讨论这个问题。

知识前提:

(1)了解在计算机的底层,都是以补码的方式存储数值的

(2)原码、反码、补码的转换方式

        ①  正数三码合一;

        ②  负数:补码 = 反码 + 1、反码 = 原码 取反(除符号位) ;

(3)二进制与十进制的转换

(4)位运算符的计算方式

        ①  << :空位补0,被移除的高位丢失,空缺位补0;

        ②  >> :被移位的二进制最高位是0,右移后,空缺位补0;最高位是1,空缺位补1;

譬如1:对 int i = 21,进行左移操作

public class BitTest {
    public static void m
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值