博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
位运算和取模运算的运算效率对比
阅读量:5350 次
发布时间:2019-06-15

本文共 1138 字,大约阅读时间需要 3 分钟。

前言

  总说计算机是擅长于做位运算的,那么到底它有多擅长呢?

  通过简单的测试,来探究一样位运算和取模运算的运算效率对比。

一、测试代码:

1 public class BitAndModulus { 2     @Test 3     public void bit() { 4         int number = 10000 * 10;//分别取值10万、100万、1000万、1亿 5         int a = 1; 6          7         long start = System.currentTimeMillis(); 8         for(int i = number; i > 0 ; i++) { 9             a &= i;10         }11         long end = System.currentTimeMillis();12         System.out.println("位运算耗时: " + (end - start));13     }14     15     @Test16     public void modulus() {17         int number = 10000 * 1000;//分别取值10万、100万、1000万、1亿18         int a = 1;19         20         long start = System.currentTimeMillis();21         for(int i = number; i > 0; i++) {22             a %= i;23         }24         long end = System.currentTimeMillis();25         System.out.println("取模运算耗时: " + (end - start));26     }27 }

二、测试结果:(时间单位:毫秒)

  计算次数     位运算      取模运算    倍数(位运算:取模运算)

  10万:       734      20489    27
  100万:        742      20544    27
  1000万:      735      20408    27
  1亿:       712     19545     27

三、结论

  位运算确实比取模运算快得多,大约快了27倍。

 

转载于:https://www.cnblogs.com/laipimei/p/11316812.html

你可能感兴趣的文章
thinkphp3.2接入支付宝支付接口(PC端)
查看>>
response和request
查看>>
【转】在Eclipse中安装和使用TFS插件
查看>>
回到顶部浮窗设计
查看>>
C#中Monitor和Lock以及区别
查看>>
【NOIP2017】奶酪
查看>>
$ 一步一步学Matlab(3)——Matlab中的数据类型
查看>>
5.6.3.7 localeCompare() 方法
查看>>
Linux下好用的简单实用命令
查看>>
常用web字体的使用指南
查看>>
描绘应用程序级的信息
查看>>
poj2406-Power Strings
查看>>
2018/12/18 JS会像Linux一样改变编程
查看>>
php环境搭建脚本
查看>>
FTP主动模式与被动模式说明
查看>>
php 编译常见错误
查看>>
MES架构
查看>>
【Python3 爬虫】15_Fiddler抓包分析
查看>>
高性能JavaScript-JS脚本加载与执行对性能的影响
查看>>
关于标签之间因为换行等问题造成的空白间距问题处理
查看>>