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

本文介绍了计算机科学中的位运算概念,包括左移和右移运算的基本原理及其应用。通过实例展示了如何利用位运算提高程序效率,特别是在乘除操作中使用位运算替代传统算术运算。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

从上图可以看出 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

 

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值