首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Java的`Double.MIN_NORMAL`和`Double.MIN_VALUE`的区别?

Java的`Double.MIN_NORMAL`和`Double.MIN_VALUE`的区别?
EN

Stack Overflow用户
提问于 2010-09-16 15:42:18
回答 2查看 11K关注 0票数 53

Double.MIN_NORMAL (Java1.6中介绍的)和Double.MIN_VALUE有什么区别?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-09-16 15:46:48

答案可以在浮点表示的IEEE规范中找到

对于单个格式,法线数和次法线数之间的区别是法向数的有义位和(二进制点左边的位)的前导位为1,而法数的前导位和次法线数的前导位为0。在IEEE标准754中,单格式次正规数被称为单格式非正态数.

换句话说,Double.MIN_NORMAL是您可以表示的最小的数字,前提是在二进制点前面有一个1(在十进制系统中称为小数点)。虽然Double.MIN_VALUE基本上是您可以表示的不受此约束的最小数。

票数 34
EN

Stack Overflow用户

发布于 2014-04-06 11:23:15

为了简单起见,解释只考虑正数。

两个相邻的归一化浮点数 'x1‘和'x2’之间的最大间距是2 * epsilon * x1 (归一化浮点数间隔不均匀,它们是对数间隔)。这意味着,当实数(即“数学”数字)四舍五入为浮点数时,最大相对误差epsilon,这是一个称为机器epsilon或单位舍入的常数,对于双精度,它的值为2^-52 (近似值为2.22e-16)。

小于Double.MIN_NORMAL的浮点数称为子法线,它们均匀地填补了0和Double.MIN_NORMAL之间的空白。这意味着,涉及次法线的计算可能导致不太准确的结果。当计算结果较小时,使用异常值可以使计算的精度下降得更慢。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3728309

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档