我需要在Dyalog APL中使用精确度。我知道⎕PP的值设置了精度,但我不能将其增加到18以上,因此我无法获得超过18位的精度,并且我需要对大数字进行运算。有什么方法可以提高精度吗?
发布于 2011-02-01 21:38:36
Dyalog APL的13.0版本目前处于测试阶段,计划于3月底发布,它允许用户决定是使用旧的IEEE-754二进制双精度格式(最大精度为16位)还是使用IEE-754-2008 128位十进制浮点数字。新格式的精度为34位,还避免了旧的二进制格式引起的许多舍入问题。使用新格式的计算将非常慢,除非您在IBM POWER硬件上运行APL,该硬件支持来自P6的新格式。如果您想参加测试版计划,请联系sales@dyalog.com。
版本13.0还在Dyalog APL中添加了对复数的支持-但只使用了一对二进制双精度数字-目前将不会有十进制复数。
我们正在致力于支持无限精度的整数和有理数。它的原型可能会在2011年出现,但我们预计最早要到2012年才能将其投入生产版本。
Morten Kromberg ( Dyalog Ltd首席技术官)
发布于 2009-07-17 19:02:05
Quad PP代表“打印精度”,仅与在Dyalog APL会话中显示数字有关,与数字的实际精度无关。
提供了一个名为"dfns“的工作区,其中包含用于对大数进行运算的函数。
发布于 2018-02-01 20:53:12
为了跟进Morten的回复,Dyalog APL自2011年发布13.0版本以来,确实支持128位四精度十进制浮点!可以通过将系统变量⎕FR设置为645 (对于双精度二进制)或1287 (对于四精度十进制)来切换浮点格式。Try it online!
https://stackoverflow.com/questions/971246
复制相似问题