当前位置: 首页 > 编程语言 > C#

C#高精度计算分享

时间:2023-04-11 02:33:11 C#

C#高精度计算考虑如下代码:doubleresult=Math.Sqrt(4746073226998689451);结果我得到的是2178548422而不是2178548421.999999854etc...我怎样才能得到更精确的结果?对于一个具体的问题,计算平方根,可以使用Decimal类型和牛顿算法:usingSystem;类程序{publicstaticvoidMain(){longx=4746073226998689451;十进制sqrt_x=(decimal)Math.Sqrt(x);for(inti=0;iresultis:2178548421.9999998547197773维基百科提到了一堆.NET的高精度数学库–Arbitrary-precisionartithmaticpage之前看过推荐的BigNum,虽然维基百科链接坏了,目前可以在其他任何地方都找不到这个库。页面上的另一个选项是MPIR的C#绑定。使用按数字计算将为您提供任意数量的数字。而不是双倍,尝试大整数,另请参阅查看此链接以支持以上就是C#学习教程:C#高精度计算的全部内容,收藏不代表立场,如涉及侵权,请点击右边联系管理员删除,如有转载,转载请注明出处: