long startTime = System.nanoTime();
long startTimer = System.currentTimeMillis();
M = app.decriptare_simpla(C);
long endTime = System.nanoTime();
long stopTimer = System.currentTimeMillis();
//mesajul initial dupa decriptare
System.out.println("M : " + M.toString());
System.out.println("Decriptarea a durat: " + (endTime - startTime));
System.out.println("Decriptarea a durat: " + (stopTimer - startTimer));
这给了我:
Decriptarea a durat: 14811776
Decriptarea a durat: 15
我想问的是那两个数字是多少秒?我的意思是它们是0.15、0.015、0.0015 ...吗?我想以这种方式打印它们,而不是作为一个,long
但不知道要添加多少个小数。对于其他号码,同样的问题。
转换遵循标准SI单位的常规规则:
long nanoSeconds = ...
double microSeconds = nanoSeconds / 1e3;
double milliSeconds = microSeconds / 1e3;
double seconds = milliSeconds / 1e3;
// Shortcuts:
double milliSeconds = nanoSeconds / 1e6;
double sconds = nanoSeconds / 1e9;
对于某些转换,您还可以查看TimeUnit类:例如,它允许在不同时间单位的值之间进行转换。
long microSeconds = NANOSECONDS.toMicros(nanoSeconds);
但是,不幸的是,它不允许double
精确给出时间跨度,而只能给出long
值。
旁白,在注释中也提到:由于内部计时器的分辨率有限,因此测量时间跨度通常在10-15ms左右是没有意义的。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句