java long 取模_位运算和取模运算的运算效率对比

前言

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

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

一、测试代码:

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 @test

16 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倍。

希望与广大网友互动??

点此进行留言吧!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值