首 页       用户登录  |  用户注册
设为首页
加入收藏
联系我们
按字母检索 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
按声母检索 A B C D E F G H J K L M N O P Q R S T W X Y Z 数字 符号
您的位置: 5VAR论文频道论文中心计算机论文计算机理论
   巧用数组实现长整数的精确计算      ★★★ 【字体: 】  
巧用数组实现长整数的精确计算
收集整理:佚名    来源:本站整理  时间:2009-01-10 12:07:16   点击数:[]    

处理
            zz = c(j + i + k)
            k = k + 1
        Loop
    Next j
Next i
zz = ""
For k = c1 To 1 Step -1
    If c(k) <> 0 Then Exit For                '去掉结果中的前导0
Next k
k = IIf(k < 1, 1, k)
For i = k To 1 Step -1
    zz = zz + Trim(Str(c(i)))
Next i
zz = xx + " X " + yy + " = " + zz
ts = "计算结果:  " + Str(a1) + "位 X " + Str(b1) + "位  结果为" + Str(k) + "位"
MsgBox zz, , ts                            '算式和结果输出
End
End Sub
以上程序在vb6.0上编译通过,并且能正确计算254位乘254位的长整数,输出结果为508位长整数,精确到每一位。
5、结束语
理论上这个算法可以计算任意位数的整数乘法,本程序为了说明算法,只设计了一个模块,没有使用到窗体。使用的是vb中的标准输入输出函数。所以它能处理的结果位数位508位,因为超过254位的数据不能输入了。要增加处理位数,只需要增加一个窗体,把输入和输出放在窗体上就可以了,实际上还可以用多个字符串连接,这样能计算的位数就没有限制了,而且当所处理的位数超过数组的最大定义范围时还可以用多维数组。总之,只要采用一定的方法,可以计算任意长度的数字。
把本程序稍做修改,可以做成一个自定义函数,把两个输入参数作为函数的参数,在其他地方调用本函数就可以计算任何整数的阶乘(n!),也可以计算任何整数的整数次方(n^m)。
本文给出的算法能给我们一种编程思路,也给我们一种启示,即只要我们充分利用计算机的功能和特性,有些看来是不可能实现的计算处理,通过一定的转换,我们总能找到解决的方法。

参考文献:
Visual Basic 6.0 中文版实用参考手册——语句、函数、对象与方法篇.晶辰工作室. 电子工业出版社, 1998
Visual Basic 6.0 中文版控件大全. 李玉东,李罡,李雷. 电子工业出版社, 2000
数据结构. 刘良观,黄水松.  武汉大学出版社, 2000

上一页  [1] [2] 


Tags:


文章转载请注明来源于:5VAR论文频道 http://paper.5var.com。本站内容整理自互联网,如有问题或合作请Email至:support@5var.com
或联系QQ37750965
提供人:佚名
  • 上一篇文章:一种实现嵌入式Linux的新方法

  • 下一篇文章:一种启发式频率分配算法
  • 返回上一页】【打 印】【关闭窗口
    中查找“巧用数组实现长整数的精确计算”更多相关内容 5VAR论文频道
    中查找“巧用数组实现长整数的精确计算”更多相关内容 5VAR论文频道
    最新热点 最新推荐 相关新闻
  • ››中小企业办公自动化系统的设计与实...
  • ››未雨绸缪:关于我国电子商务税收对...
  • ››网上书店为钱做秀 行业走势两极分...
  • ››Win2000索引服务的WEB应用
  • ››宽带化――电信发展的必由之路务
  • ››电子商务中x种错误思路和做法
  • ››网络营销与传统营销相比有何优势
  • ››Internet的下一个热点 从内容走向服...
  • ››基于CNAPS的流水号管理方法
  • ››网络时代的财务与会计:管理集成与...
  • ››巧用数组实现长整数的精确计算
  •   文章-网友评论:(评论内容只代表网友观点,与本站立场无关!)
    关于本站 - 网站帮助 - 广告合作 - 下载声明 - 网站地图
    Copyright © 2006-2033 5Var.Com. All Rights Reserved .