首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >最大的非正规化和归一化数是多少?(64位,IEE 754-1985)

最大的非正规化和归一化数是多少?(64位,IEE 754-1985)
EN

Stack Overflow用户
提问于 2013-11-19 07:14:34
回答 1查看 14.1K关注 0票数 7

我在纠结于浮点算法,因为我真的很想理解这个话题!

我知道这些数字可以用科学符号来表示。

因此,对于这两个数字,指数应该如下所示:

非正态数:11.11 so (1+1/2 + 1/2^2 +.+ 1/2^52)*2^1023

归一化数:11.11 so (1+1/2 + 1/2^2 +.+ 1/2^52)*2^1024

不过,我不知道这是否正确?

我真的很感激你的回答!

PS.:在维基百科上,号码是给你!,但是我不知道他们是怎么想出来的.

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-12-14 20:41:30

如您所知,双精度格式如下:

理解非正规化数字的关键是,它们实际上不是浮点数字,而是使用不以“正常”格式表示的定点微格式。

普通浮点数的形式是:m*2^e,其中e是通过从上面的指数场减去偏置而得到的,而m是一个介于1到2之间的数字,其中“二进制”点之后的位是由上面的分数表示的。二进制点前面的1不被存储,因为它总是1。指数字段的值从1到2046。值0(全部为零)和2047 (全部为零)保留给特殊用途。

指数场中的所有元素都意味着我们有无穷大或NaN (非a数)。

所有的零意味着我们要处理的是密度浮点数。它们仍然是相同的形式,m*2^e,但是me的值是不同的。m现在是介于0到1之间的一个数字,所以在二进制点前面有一个0,而对于普通数来说是1。e总是具有相同的值:-1022。所以指数是常数,这就是为什么我早些时候称它为定点格式。

因此,每个值的最大可能值是:

  • 正常值:(1+1/2 + 1/2^2 +.+ 1/2^52)*2^1023 = (2-2^-52)*2^1023 = 1.797...e+308
  • (+1/2 + 1/2^2 +.+ 1/2^52)*2^-1022 = (1-2^-52)*2^-1022 =2.225.e-308
票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20065406

复制
相关文章

相似问题

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