Java:Math.random() Max Value (double just less than 1)

标签 java math random double precision

我一直对这个有点好奇。 Math.random() 给出 [0.0,1.0) 范围内的值。那么它能给出的最大值(value)是多少呢?换句话说,小于 1.0 的最接近 1.0 的 double 值是多少?

最佳答案

Java 使用 64 位 IEEE-754表示,因此理论上小于 1 的最接近数字是十六进制表示形式的 3FEFFFFFFFFFFFFFF,符号为 0,指数为 -1,52 位有效数为 1.9999999999999997。这大约等于 0.9999999999999998

引用文献:IEEE-754 Calculator .

关于Java:Math.random() Max Value (double just less than 1),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15736885/

相关文章:

Java Vector错误输出

java - ConcurrentHashMap 和 Collections.synchronizedMap(Map) 有什么区别?

math - 获取方程的分支点

javascript - 在 HTML5 Canvas 中旋转 JS 对象时 Y 轴出现问题

java - 显示 3 张随机卡 JavaFX

java - 修复 Scanner 的 java.util.NoSuchElementException

java - Guava Hasher 有时对同一对象给出不同的结果

math - 如何表示 4x4 矩阵旋转?

java - 熟悉Java中的线程: Why does this program's runtime increase with increasing number of threads

c++ - 如何在 C++ 中生成随机数?