我想指定一个完全覆盖 double/float 数字范围的集合。
对于Integer
来说,这非常简单,因为它们都是从Integer.MIN_VALUE
到Integer.MAX_VALUE
的自然数,所以
INTEGER = { x e ℕ | x ≤ 2147483647x ≥ -2147483648 }
对于double
和float
来说,由于数据类型的精度,它更难
编辑:
要求“数学表示”可能有点不精确。那么我需要什么:
我正在寻找适合此模式的定义:
Double = { x e ℝ | x ≤ 2-1022x ≥ -2-1074{insert further conditions here} }
最佳答案
嗯,极值是 Double.MIN_VALUE
和 Double.MAX_VALUE
。由于计算机是离散实体并且实数是连续的,因此在此范围内存在“漏洞”。
血淋淋的细节在 IEEE 754 .
关于java - java中double的数学表示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48954620/