当前位置:  开发笔记 > 编程语言 > 正文

在C#中将π计算为"无限"二进制精度

如何解决《在C#中将π计算为"无限"二进制精度》经验,为你挑选了2个好方法。

到目前为止,看起来Fabrice Bellard的基础2方程式是可行的

替代文字

具有讽刺意味的是,这将需要BigReal类型; 我们有.Net这个吗?.Net 4.0有BigInteger.

有人有Haskell版本吗?



1> sth..:

既然你要求Haskell版本,这里有一篇由Jerzy Karczmarczuk撰写的论文,名为"世界上最不可靠的技术来计算π":

本文是懒惰函数编码的非典型练习,为乐趣和教学而编写.任何了解编程语言Haskell的人都可以阅读和理解它.我们展示了如何以共同递归的方式实现π的Bailey-Borwein-Ploue公式,该方法产生数字3,1,4,1,5,9..直到内存耗尽.如果有人需要多位数,这不是一种方法!我们的编码策略是有悖常理和危险的,并且可以证明它已经崩溃了.它基于无限数字序列域上的算术,表示在整数基数中扩展的适当分数.我们展示了如何操纵:添加,乘以整数等等从左到右无限的序列,由于含糊不清,显然不能在所有情况下都起作用.结论中讨论了一些深刻的哲学后果.

它并没有以高效或非常实用的方式真正解决问题,而是娱乐性并且展示了懒惰无限精度算法的一些问题.

然后还有Jeremy Gibbons的这篇论文.



2> Edward KMETT..:

到目前为止,我最喜欢的Haskell pi用于来自Jeremy Gibbons:

pi = g(1,0,1,1,3,3) where
    g(q,r,t,k,n,l) = 
        if 4*q+r-t

可以在以下位置找到证明该实现的数学背景:

Pi数字的插口算法

推荐阅读
mobiledu2402851203
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有