ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

java – 在现代处理器上使用按位运算真的比常规数学快吗?

2019-07-16 19:02:16  阅读:455  来源: 互联网

标签:c java bit-manipulation bit-shift operator-keyword


参见英文答案 > Is shifting bits faster than multiplying and dividing in Java? .NET? [closed]                                    13个
我已经看到多个来源(一些在这里,在维基百科关于按位运算的文章中)说使用比特移位来计算比正常的乘法/除法/加法更快.然而,他们还提到,这只适用于较旧的处理器,并且大多数现代处理器都使其速度几乎相等.

该声明的有效性如何?在Java或C#中使用常规数学操作数是否安全?是否正在使用bithifting作为那些真正需要的操作数的替代品?

解决方法:

你只需将它留给编译器.好的编译器知道他们所针对的硬件.如果编译器知道按位操作更快,那么它可以发出代码来执行此操作.您应该始终以最清晰的方式编写人类可读代码,正确表达正在执行的操作的方式.让编译器完成其余的工作.

至于是否仍然可以按比例操作比算术更快,我相信它们是.当然,许多现代C编译器将发出使用按位运算进行算术运算的代码.

标签:c,java,bit-manipulation,bit-shift,operator-keyword
来源: https://codeday.me/bug/20190716/1480856.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有