开发学院软件开发VC 可用于数论计算的无符号大整数类 阅读

可用于数论计算的无符号大整数类

 2010-01-23 20:32:23 来源:WEB开发网   
核心提示:ToDecStr()的算法分析:基本算法是将数除以10,得到的余数为最低位,可用于数论计算的无符号大整数类(3),这样反复进行,直到结束,不知做出这样的判断是否正确,请读者指正),就可计算结果,但对于一个长度很长的CUSuperInt对象

ToDecStr()的算法分析:

基本算法是将数除以10,得到的余数为最低位。这样反复进行,直到结束,就可计算结果。

但对于一个长度很长的CUSuperInt对象,除法是非常耗时间的,为了尽量减少除法的次数,将除数设为1000000000(这根据一个DWORD能表示的最大十进制数为429467295,其位数有10位而定的),这样每除一次,得到的余数是一个不大于9位十进制位的数,然后将其转换成十进制字符串,作为低9位。

八、问题

各种运算的正确性,尚需在使用过程中得到进一步的验证。因为数大了,我们不大可能用手工或计算器来验证,所以只能从算法上保证运算的正确性。

进一步的优化,如对两个CUSuperInt相乘,可以全部用内联汇编编写。

由于代码中使用了大量的汇编,而在代码中未涉及段寄存器,适用的程序只能是Win32程序。(作者水平有限,不知做出这样的判断是否正确,请读者指正)。

本代码在VC6.0+WinMe以及WinXP环境下调试运行正确。

本文配套源码

上一页  1 2 3 

Tags:用于 数论 计算

编辑录入:爽爽 [复制链接] [打 印]
[]
  • 好
  • 好的评价 如果觉得好,就请您
      0%(0)
  • 差
  • 差的评价 如果觉得差,就请您
      0%(0)
赞助商链接