java - 时间没有将纳秒转换为秒

标签 java performance

如果我的代码有任何问题,有人可以发现吗?我正在尝试计算执行此阶乘所需的时间并将其转换为秒,但它似乎打印出错误的值。谢谢!!

    long startTime = System.nanoTime();
    BigInteger factorial_minute = doFactorial(50000);
    long endTime = System.nanoTime();

    String factorial_minute_str = factorial_minute.toString();
    System.out.println("Largest n! in one minute = " + factorial_minute);
    System.out.println("n! in one minute Amount of Digits: " + factorial_minute_str.length()); // Print the length also
    System.out.println("Total execution time: " + (int)((endTime - startTime)/1000000000 + " seconds") );

输出是

Total execution time: 4 seconds

编辑,我把它改成了1000000000,但是输出好像还是错误。

最佳答案

一纳秒是十亿分之一秒,而不是百万分之一秒。在除数上再加三个零。

(endTime - startTime)/1000000000

关于java - 时间没有将纳秒转换为秒,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14617206/

相关文章:

java - 如何在 python 或 java 中显示图像的像素数组???帮我

java - mariadb 连接器 J Aurora 快速故障转移实现

sql-server - 我希望以更可控制的方式表达这个条件

c++ - 加速 OpenGL 中旋转和缩放图像的绘制

javascript - jQuery.grep 与 Array.filter 的性能对比

c# - 原始类型性能

java - Android 平板电脑和相机之间的 USB 批量传输

java - 在方法中发送一组对象?

java - Java中的多线程服务器

c++ - 使用 MKL 编译时 Eigen C++ 运行速度变慢