最近在我的大学,我被要求用C写一个计算器。这是一项完整的任务:
计算器 - 程序应该允许执行基本数学 整数上的运算(加法,减法,乘法,除法) 和任何长度和精度的实数。
我的想法是将每个数字存储在双向链表的单独“块”中。我设法做了加法和减法没有任何严重的问题,它使用这种方法工作得很好。但乘法和除法是一个问题。我不知道我应该如何照顾它。我是否应该使用链表还是有另一种更好的方法?请给我任何想法!请记住,这是我学习的第一个学期所以它不应该太复杂。谢谢!
答案 0 :(得分:1)
研究实现有限状态机。您还可以抛出堆栈数据结构,以便处理超出任何数据类型的数字的算法。
答案 1 :(得分:0)
如果您必须自己实现,那么您应该对“Arbitrary Precision Arithmatic”或BigNum进行一些研究。等
此链接将帮助您开始描述将数字存储在数组中。它还提供了您可能会发现有用的算法的更多链接: https://en.wikipedia.org/wiki/Arbitrary-precision_arithmetic