我正在尝试实现一个将两个大精度数字分开的程序(我把它们作为字符串)。来自堆栈溢出的其他问题的人建议实现这个算法,这在Donald的“计算机编程的艺术”一书中得到了解释。在阅读过程中,我对算法有了一个大致的认识,但在某些方面我感到困惑。
任何帮助都将不胜感激。
提前谢谢。
发布于 2013-05-08 23:51:55
我只能建议,除法可以通过除数和除数的差来实现。然后根据数字差对除法器进行一定的估计,并对其进行修改,直至达到期望的输出。是的,如果计算非常大的数据,您必须编写自己的加法函数和多处理函数,并使用数组。
更新逐个接受提示。假设,1923/695为x 695= 3,取除数的前3位,然后尝试除法。当193<695添加商0,再添加一个数字到除法。现在我们必须把1923年除以695。这种方法的一个优点是,每次你必须猜出1到9之间的数字。为了优化和减少猜测的数量,您可以实现如果条件,例如,如果除数是>除数*5,您的猜测将是6、7、8和9。
我以前用这个方法计算了大数的阶乘数。希望这对你也有帮助。
https://stackoverflow.com/questions/16451935
复制相似问题