首 页 网络编程
网页制作 图形图象 操作系统 冲浪宝典
软件教学 认证考试

网络安全 网络办公 行业资讯 评测对比
您当前位置:站长天空 -> 认证考试-> 全国等级考试
.net中大数处理的一些算法思想_asp.net技巧
作者:网友供稿 点击:0
推荐
西部数码-全国虚拟主机10强!20余项虚拟主机管理功能,全国领先!第6代双线路虚拟主机,南北访问畅通无阻!可在线rar解压,自动数据恢复设置虚拟目录等.免费赠送访问统计,企业邮局.Cn域名注册10元/年,自助建站480元起,免费试用7天,满意再付款!P4主机租用799元/月.月付免压金
站内搜索
文章页数:[1] 

    在 .NET 开发中,有时会因为处理一些边缘学科的知识内容,如统计,金融,天文等计算,是加密解密算法
都会涉及到大数的运算,就是.net中最大数值类型储存了都会溢出的数,我的一个想法是计算时用数值类型,储
存(暂时)和输出时是字符串 那么储存时就需要BOX[n] n个数组来暂时储存一个计算中的小步骤结果,
如一下例子
====================算法理解图=======================                       
97*97*97*97*97                     = 8587340257                     box(1) = 587340257   box(2)=8
 97*97*97*97*97*97               = 832972004929                box(1) = 972004929   box(2)=832
97*97*97*97*97*97*97         = 80798284478113             box(1) = 284478113   box(2)=80798
 97*97*97*97*97*97*97*97  = 7837433594376961         box(1) = 594376961   box(2)=7837433  
97^ 9                                   = 760231058654565217     box(1) = 654565217   box(2)=760231058
 97^ 10                         = 73742412689492826049   box(1) = 492826049   box(2)=742412689  box(3)=73
     ……                                                  ……                                       ……                     …… 
注意box 下表越大对应的数越高位在,在运用上面的算法时要记住
①先定义一个BOX的标志为几位,如上面是9位(根据需要和实际情况),
②由于计算习惯,很多人会从底位算起时{box(0 -> n)} 要先算box(n+1)位的数,在把box(n) 产生的进位数(如第一条计算box(1)向box(2)=0产生进位数8 box(2)+进位数 = 8 )进行处理,如以上时加法处理
③ 最好从高位算起,你将省去很多麻烦,box个数未知,没关系,用动态数组,满了时(最高下标box产生的进位数)再添一个
还有取模运算时,如果模数不大,也可以采用以上思想分段求模,再链接box得暂时结果,重新分配box(一定要从高位起重新截断)如被模数123456789123456789  设八位一个box   box(1)=89 box(2)=91234567 box(3)=12345678各box分别取模再联合(传统是123456789123456789 ÷  333=370741108478849 模是72)  那么重新分配的盒子应该是box(1) =478849 box(2) =370741180 而不能是box(1) =370741180  box(2) = 478849  为什么? ∵从高位开始取模,box(n) 在被取模一次后如果不变,再次取模结果没变是box(n) = box(n)  程序将进入死循环
     另外一种涉及大数运算的情况式是 对A的n 次方后取模 (A ^n mod  V ) 如果mod数不大可以(是n个A后结束)((A mod V)* A mod V) * A mod V …… 此算法不一定要用递归实现,简单的循环即可,最多两层嵌套循环
    最后忠告 :对一个大数进行加减乘除时千万别轻易的进行对被(加/减/乘/除)数因式分解,这种算法效率会很底
    (文章编写匆忙,可能存在错字,敬请原谅)

出处:same BLOG


文章整理:站长天空 网址:http://www.z6688.com/
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

文章页数:[1] 


放大字体显示 缩小字体显示 打印文章 推荐给朋友
热门文章
·VisualC#中MDI窗体初步-.NET教程,C#语言
·2004年全国计算机等级考试二级vb全真上机试题解析
·全国计算机等级考试一级ms office考试(样题)
·java生成JPEG 图像文件-JSP教程,Java技巧及代码
·全国计算机等级考试二级access考试大纲
·全国计算机等级考试一级b考试大纲
·大文件上传研究-ASP教程,ASP应用
·全国计算机等级考试二级c语言考试大纲
·C#字符串的使用笔记-.NET教程,C#语言
·c#实现类似于SqlServer视图设计器的可浮动窗体-.NET教程,C#语言
最新文章
·利用c#远程存取access数据库_c#应用
·dreamweaver简单描述制作网页的基本步骤_dreamweaver教程
·fireworks制作波普网点画面特效_fireworks教程
·如何提高垃圾站点gg ad广告单元点击价格_网赚技巧
·谈百度联盟和google adsense广告的均衡优化_网赚技巧
·google adsense 广告功略之三定理_网赚技巧
·为什么网站要先做小众_站长心得
·针对地方门户网站运营推广的经验分析_站长心得
·如何做网站的搜索引擎优化?_站长心得
·如何正规的快速建立赚钱的网站_google推广
相关主题
  • .net中多线程的同步资源访问_c#应用
  • .net中socket编程的简单示例_asp.net技巧
  • .net中常见问题及解决方法归类_asp.net技巧
  • .net中错误日志的写入_asp.net技巧
  • .net中如何在调用com时得到返回参数值_asp.net技巧
  • 西部数码虚拟主机

    友情链接
    CNNIC 西部数码
    万网 自助建站
    虚拟主机 asp空间
    域名注册 域名
    域名申请 主页空间
    论坛空间 网站空间
    国际域名 虚拟空间
    空间租用 DDOS防火墙
    成都主机托管 四川主机托管
    主机租用 服务器租用
    网站目录 自助建站
    虚拟主机 网址大全
    软件下载
    自助链接
    虚拟主机资讯 特价虚拟主机
    版权申明:本站文章均来自网络,如有侵权,请联系我们,我们收到后立即删除,谢谢!
    关于我们:站长天空:专业提供最新的站长资讯、在线教程、虚拟主机权威评测、虚拟主机性能对比、网站制作教程,开发教程,站长工具。包括网页制作教程、冲浪宝典、编程参考、操作系统、软件教学、行业动态等。
    特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有。
    发表评论 打印  刷新     关闭