java - java中double的数学表示

标签 java math floating-point

我想指定一个完全覆盖 double/float 数字范围的集合。

对于Integer来说,这非常简单,因为它们都是从Integer.MIN_VALUEInteger.MAX_VALUE的自然数,所以

INTEGER = { x e ℕ | x ≤ 2147483647x ≥ -2147483648 }

对于doublefloat来说,由于数据类型的精度,它更难

编辑:

要求“数学表示”可能有点不精确。那么我需要什么:

我正在寻找适合此模式的定义:

Double = { x e ℝ | x ≤ 2-1022x ≥ -2-1074{insert further conditions here} }

最佳答案

嗯,极值是 Double.MIN_VALUEDouble.MAX_VALUE 。由于计算机是离散实体并且实数是连续的,因此在此范围内存在“漏洞”。

血淋淋的细节在 IEEE 754 .

关于java - java中double的数学表示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48954620/

相关文章:

java - Spring 批处理问题 : "Problems occurred while synchronizing remote to local directory"

c# - 我怎样才能找到圆的两点之间的角度?

javascript - 是否有可能在 JavaScript 中实现无舍入问题的任意精度算术?

c - 为什么 atan 没有产生正确的结果?

java - Spring mvc 异常中的 servlet 名称为空

java - 如何用java解析这个文本文件?

JavaFX : How to connect two Nodes by a Line?

algorithm - 有效评估递归函数?

javascript - 使用正则表达式从 float 中过滤掉小数

r - 将数字格式设置为两位数