首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么realmin > eps(0)?

为什么realmin > eps(0)?
EN

Stack Overflow用户
提问于 2013-04-04 16:50:18
回答 2查看 2.4K关注 0票数 7

realmin“返回IEEE双精度的最小正规格化浮点数”。eps(X)“是从ABS(X)到与X精度相同的下一个更大的浮点数的正距离”。

如果我正确地解释了上面的文档,那么realmin --可以表示的最小正数--必须小于eps (0)。但是:

代码语言:javascript
复制
>> realmin; % 2.2251e-308
>> eps(0);  % 4.9407e-324

显然,甚至更小的eps(0)也可以表示。有人能给我解释一下吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-04-04 17:04:34

这是一个浮点问题。你应该去看看denormal numbers上的资料。

简而言之,realmin返回最小的正规格化浮点数。但也有可能有比这个小的非正规化数字,并且仍然可以用浮点表示,这是eps(0)返回的。

快速解释非正规数

二进制浮点数如下所示:

代码语言:javascript
复制
1.abcdef * 2^M

其中abcdefg分别是0或1,M是-1022 <= M <= 1023范围内的数字。这些被称为归一化浮点数。可能的最小规范化浮点数是1 * 2^(-1022)

非正规化的数字如下所示

代码语言:javascript
复制
0.abcdef * 2^(-1022)

因此,它们可以采用小于最小可能规范化浮点数的值。非规格化数在-realminrealmin之间线性插值。

票数 10
EN

Stack Overflow用户

发布于 2013-04-04 16:54:07

也许这是一个定义问题,这就是我在eps文档中看到的:

代码语言:javascript
复制
For all X of class double such that abs(X) <= realmin, eps(X) = 2^(-1074)
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15806537

复制
相关文章

相似问题

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