生活的天平本不平衡,只有通过努力改变其偏向。

大数四则运算支持浮点

2009-01-13

前一段时间写了一个大数的四则运算,主要思路就是将大数转成字符串进行运算。这种方式虽然效率不太高,但在某些场合,由于种种原因,系统的四则运算,不满足要求时,这种方式到是派上了用场。

看到网上也有类似的计算方法,不过好像不支持浮点,我写了一个支持浮点的。

实现方式,纯C + 几个字符串运行库。

IDE: VC6.0

Bug肯定多多,如果你在观看代码或使用时,发现Bug请即时和我联系,当然如果你肯在这份代码上作相应的优化,请将优化后的版本也发一份给我,Thx.

联系方式:

或访问我的小站:Http://Www.Vcfans.Com

随便输入一两个数进行了计算,运行结果如下图:


---------------------------------------------------感谢gg同学指出的Bug,现已经修正。
Add(”7″,”+2″) 结果为5?后面那字符串加个 “+”号 结果全错
请在使用时,注意入参的检查。
update:2009-03-11
---------------------------------------------------

  calc.7z (6.3 KiB, 434 hits)

作者:lonkil | 分类目录:本站原创编程开发 | 标签:

8 条评论

  1. lonkil 说道:

    to:楼上的几位兄弟,

    这段程序,我也发现在了一些格式化类的Bug就懒得修了。

  2. .. 说道:

    0.000000000000吧

  3. .. 说道:

    22222222222222222222222222222222/3333333333333333333333333333333333333=0

  4. seeksky 说道:

    很好很强大啊。
    很有爱
    占时还没有测试出有什么问题。

  5. gg 说道:

    Add(“7″,”+2″) 结果为5?
    后面那字符串加个 “+”号 结果全错

  6. solu 说道:

    我刚刚看了 运算符重载 不知道能不能用这个实现!

    • lonkil 说道:

      运算符重载的话,会在使用时操作更人性易读。比如我的Add(xx,yy,z),可以直接做成z = xx+yy.

      具体实现还是一样的。