用任意精度的整数实现负指数?

时间:2016-03-25 20:02:04

标签: math data-structures exponential decimal-point

我正在尝试使用任意精度数学计算器,但我无法弄清楚如何处理负指数。 执行涉及n ** - x的操作的最有效方法是什么? 到目前为止我已经尝试了1 / n ** x,问题是我无法知道有多少数字会跟踪小数点并使用整数例如无法使用任意精度制作计算器的目的。限制允许的输入数字的大小。我想知道是否有其他方法可以做到这一点。

我正在使用C编程,但任何针对负指数的方法都是诚实的。

1 个答案:

答案 0 :(得分:2)

如果你需要支持带有负指数的任意精度算术,听起来你可能想要考虑将数字作为最简单形式的分数存储,其中分子和分母各自存储任意精度整数。要实现x -n 之类的东西,其中x = a / b,你最终会得到数字b n / a n 。这样,您根本不需要担心十进制数字,这是一件好事,因为大多数实数都没有有限的十进制表示。