<<,>>,>>>运算符以及二进制与十进制的相互转化

1:>> 运算符意义(右移)和( ">>>"右移运算符为Java特有,一样的效果)

     举几个简单的列子大家就明白了

     例一:16 >> 2   结果为 4 ,含义:16 / ( 2² ) = 4

     例二:18 >> 3   结果为 2 ,含义:18 / ( 2³ ) = 2 (可以看成是强制取整的结果)

     例二:64 >> 3   结果为 8 ,含义:64 / ( 2³ ) = 8

     原理:

 

2:<< 运算符含义(左移)

     举几个简单的列子大家就明白了

     例一:16 << 2   结果为 64 

     例二:18 << 3   结果为 18 * 2³

     原理:和1中类似这里就不再啰嗦讲解了。。。。。

 

3:原理讲解 :  

     请看例图如下:

     十进制转换成二进制数据:  这个图表示取52的二进制数据,我记得当初老师管这个方法叫:”除2倒取余

     52是一个十进制数据,依次除以2然后得到余数。最后再根据余数倒回得到: 110100,因此十进制52的二进制数为:110100。

     二进制转换成十进制数据:52的二进制数据还原成十进制公式: 从最低位(也就是最右边开始)

                                                 0 * (2的0次方) +  0*(2的1次方) + 1*(2的2次方)+ 0*(2的3次方)+ 1*(2的4次方) + 1*(2的5次方)= 52

 

    (o(∩_∩)o 哈哈)不会的童鞋多多的练习几遍然后就会了......

     问题: 52 >> 3原理是怎么的呢 ?

     答案:表示52的二进制数据右移三位(说的粗暴一点,就是直接将52的二进制数据"110100"后3位砍掉,变成”110“的十进制数据),

                最后再将二进制110数据转换成十进制数据最终结果就是 6   = 52 / (2³)

 

写得非常浅显易懂,希望童鞋们更上一层楼......

     

 

    

   

 

 

      

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值