开发者社区> 问答> 正文

Java性能优化:为什么乘法和除法使用移位操作?

Java性能优化:为什么乘法和除法使用移位操作?

展开
收起
我是小美女 2021-11-01 09:46:05 361 0
1 条回答
写回答
取消 提交回答
  • 网络规划设计师、敏捷专家、CISP、ITSS服务经理、ACA全科目、ACP4项、ACE、CBP、CDSP、CZTP等。拥有 PRINCE2 Foundation/Practitioner、CCSK、ITIL、ISO27001、PMP等多项国际认证。 专利5+、期刊10+、知识产权师。核心期刊审稿人。

    您好,例如:

    for (val = 0; val < 100000; val += 5)
    {
    a = val * 8;
    b = val / 2;
    }
    
    

    用移位操作可以极大地提高性能,因为在计算机底层,对位的操作是最方便、最快的,因此建议修改为:

    for (val = 0; val < 100000; val += 5)
    {
    a = val << 3;
    b = val >> 1;
    }
    
    

    移位操作虽然快,但是可能会使代码不太好理解,因此最好加上相应的注释。

    2021-11-01 09:49:43
    赞同 1 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Spring Cloud Alibaba - 重新定义 Java Cloud-Native 立即下载
The Reactive Cloud Native Arch 立即下载
JAVA开发手册1.5.0 立即下载