加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

浮点 – 非常大数的正弦的标准

发布时间:2020-12-14 04:20:15 所属栏目:大数据 来源:网络整理
导读:我正在TeX中编写一个(几乎)符合IEEE 854标准的浮点实现(它只支持32位整数).此标准仅指定 –,*,/,比较,余数和sqrt的结果:对于这些操作,结果应与将精确结果四舍五入为可表示的数字(根据舍入模式)相同. 我似乎记得IEEE规定超越函数(sin,exp …)应该产生忠实的
我正在TeX中编写一个(几乎)符合IEEE 854标准的浮点实现(它只支持32位整数).此标准仅指定 –,*,/,比较,余数和sqrt的结果:对于这些操作,结果应与将精确结果四舍五入为可表示的数字(根据舍入模式)相同.

我似乎记得IEEE规定超越函数(sin,exp …)应该产生忠实的结果(在默认的round-to-nearest模式中,它们应该输出围绕确切结果的两个可表示数字之一).计算小数的正弦是相当简单的:移动2 * pi的倍数以获得[0,2 * pi]范围内的数字,然后再做一些工作以将范围缩小到[0,pi / 4],并使用泰勒系列.

现在假设我想计算sin(1e300).为此,我需要找到1e300 modulo 2 * pi.这需要知道pi的300(316?)个小数,因为只有16个小数,结果没有任何意义(特别是,它不是忠实的).

关于罪的结果(1e300)和类似的非常大的数字应该有一个标准吗?

其他浮点实现有什么作用?

解决方法

没有标准要求忠实地舍入超越功能. IEEE-754(2008)建议但不要求正确舍入这些功能.

大多数优秀的数学图书馆都努力在整个范围内提供忠实圆润的结果(是的,即使对于罪恶的巨大输入()和类似的困难案例).如您所知,这要求库知道更多的π数字,然后在最大可表示数字中有数字.这被称为“无限pi”参数减少.

为了@spraff提升,良好的数学库采用输入无限精确的观点(即,该函数应该表现得好像输入总是准确地表示).人们可以辩论这是否是一个合理的位置,但这是基本上所有优秀数学库的工作假设.

总而言之,有很多库采用简单的路径并使用“有限pi”减少,它基本上像sin()一样处理函数,好像π是可表示的有限数.事实证明,这对大多数用途并没有造成任何麻烦,并且当然更容易实现.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读