Java中double和float哪个快

撰写代码如下


public class Main {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO 自动生成的方法存根
		double a,b;
		a=test1(10);
		b=test2(10);
		System.out.println(a);
		System.out.println(b);
		System.out.println(b/a);
	}

	public static double test1(int n)
	{
		double total=0.0;
		double t=0.0d;
		for (int i=0;i<n;++i){
			long t0,t1,t2;
			t0=System.nanoTime();
			t1=System.nanoTime();
			for(int j=0;j<100000000;++j) {
				t+=0.1d;
			}
			t2=System.nanoTime();
			total+=t2-t1-(t1-t0);
		}
		return total/n;
	}

	public static double test2(int n)
	{
		double total=0.0;
		float t=0.0f;
		for (int i=0;i<n;++i){
			long t0,t1,t2;
			t0=System.nanoTime();
			t1=System.nanoTime();
			for(int j=0;j<100000000;++j) {
				t+=0.1f;
			}
			t2=System.nanoTime();
			total+=t2-t1-(t1-t0);
		}
		return total/n;
	}

}

运行结果如下:

8.32064216E7
8.30583296E7
0.998220185447802

完。

发表评论?

2 条评论。

发表评论

注意 - 你可以用以下 HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

:wink: :twisted: :roll: :oops: :mrgreen: :lol: :idea: :evil: :cry: :arrow: :?: :-| :-x :-o :-P :-D :-? :) :( :!: 8-O 8)

本文链接:https://twd2.me/archives/5479QrCode