我需要在Dyalog APL中精确地工作。我知道⎕PP的值设定了精度,但我不能将它增加到18以上,所以我不能得到比18位更精确的数字,我需要操作大数字。有没有办法提高精度?
答案 0 :(得分:5)
Dyalog APL的13.0版本目前处于测试版并计划于3月底发布,允许用户决定是否使用旧的IEEE-754二进制DOUBLE精度格式,其最大精度为16位,或IEE-754-2008 128位十进制浮点数。新格式具有34位精度,并且还避免了由旧二进制格式引起的大量舍入问题。除非您在IBM POWER硬件上运行APL,否则使用新格式的计算将非常慢,该硬件支持来自P6的新格式。如果您想参加Beta计划,请联系sales@dyalog.com。
版本13.0还增加了对Dyalog APL中复数的支持 - 但只使用一对二进制双精度数 - 现在不会有十进制复数。
我们正致力于支持无限精度整数和有理数。这种情况的原型可能会出现在2011年,但我们预计最早会在2012年之前将其投入生产版本。
Morten Kromberg(首席技术官,Dyalog Ltd)
答案 1 :(得分:3)
Quad PP用于“打印精度”,仅与在Dyalog APL会话中显示数字相关,与数字的实际精度无关。
有一个名为“dfns”的提供工作区,其中包含使用大数字操作的函数。
答案 2 :(得分:2)
为了跟进Morten的回复,Dyalog APL确实支持128位四精度十进制浮点数,因为版本13.0在2011年发布!您可以通过将系统变量⎕FR设置为645(对于双精度二进制)或1287(对于四精度十进制)来切换浮点格式。 Try it online!