Java基础之 位移运算(另类的乘除法)

从上图可以看出 8 3    4 2 之间一定存在某种关系; 由下图来解释位移运算

在计算机的世界中  数字全部以二进制进行存储

3<<3     大于小于号箭头所指的方向 就是位移的方向

3左移三位  就是将整个数位向左平移动三位,空出的位置 补0.     结果为   

3<<3  =(2^4 *1 + 2^3 *1) =   (2^1+2^0) * 2^3   =  24          3*8 = 24

左移三位整体提高了2^3。

同理除法: 164/4 = 164>>2   164表示成2进制 整体右移两位  降低了2^2

位移运算要求:

左移运算<<  :在乘数或者被乘数在一方由2的整数次幂时  可以用<<n  来代替  *2^n

右移运算>> :在除数为2的整数次幂时 可以用>>n 来代替   / 2^n

 

位运算是一个种更接近机器底层的运算方式 ,所以位运算的性能远高于乘法除法。
 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值