java位运算的效率

理论上.java数学运算中.位运算肯定比直接加减乘除效率要高.但具体能高多少.未知.简单测试如下.

long t = 455565655225562l;
		long a = 0;
		long start = System.currentTimeMillis();
		for (int i = 0; i < 1000; i++) {
			a = t / 1024 / 1024 / 1024;
		}
		long end = System.currentTimeMillis();
		System.out.println("time1=" + (end - start));

		start = System.currentTimeMillis();
		for (int i = 0; i < 1000; i++) {
			a = t >> 30;
		}
		end = System.currentTimeMillis();
		System.out.println(&quot;time2=&quot; + (end - start));

 


1000次时:
time1=0
time2=0
1000000次时:
time1=1
time2=2

从这里看,位运算有时效率还会低.具体待解.

猜你喜欢

转载自sanyecao2314.iteye.com/blog/2243509