我正在编写一个程序,该程序允许用户执行大数的算术运算,这些运算是使用双向链表构造的。到目前为止,我已经制作了一个加法函数,但现在我正在尝试制作一个用于乘法的函数,但我真的想不出什么好东西。我正在考虑这样做:
假设有 2 个数字,1000 和 2000|0000(| 表示组成数字的不同节点之间的间隔)。如果将数字相乘,您将得到 200|0000|0000。我可以创建一个函数,首先将 2 个节点相乘,然后将其划分为更小的节点。之后它将乘以下一个节点,检查最后一个节点的大小,如果还有空间,则将一部分添加到该节点并将剩余部分放入下一个节点。但是,如果一个数字小于另一个数字怎么办?然后你会把它乘以一个未定义的数字。这个方法有什么“未来”吗?或者我应该寻找另一个(我做了一些研究,但到目前为止没有发现任何有用的东西)