【发布时间】:2011-07-21 09:47:08
【问题描述】:
我使用here 的基本转换器并将其更改为使用 ulong 值,但在转换大数字时,特别是高于 16677181699666568 的数字时,它返回的值不正确。我开始研究这个并发现 Math.Pow(3, 34) 返回值 16677181699666568,而实际上 3^34 是 16677181699666569。因此,这为我的工作带来了麻烦。我认为这只是 Pow 方法中的双精度问题?我最简单的解决方法是创建自己的采用 ulong 值的 Pow 吗?
如果是这样,执行 Pow 的最快方法是什么?我认为有比每次乘法的 for 循环更快的东西。
【问题讨论】:
-
谢谢大家... BigInteger.Pow 效果很好。