大数运算

大数是指计算的数值非常大或者对运算的精度要求非常高,用已知的数据类型无法精确表示的值。

计算大数的方法一般是用数组模拟大数的运算。

之前写过,基本思想就是从低位到高位的按照加减乘除的运算规则来做,就是什么进位借位的注意点就好了。

需要注意的细节问题如下:

  1.数据的长短,短的那部分处理完之后,要处理多出来的那半段,还有遗留的进位。

  2.做大数减法的时候需要搞清楚结果的正负号和运算时谁减去谁。

  3.输出的时候不能输出高位的0, 如500-500不能得到000。

  4.加法的进位只和前一位有关,但是减法的借位有时候会传递到很远,比如10000-9。

  5.0就是0,不要输出什么+0 -0。

记得老师讲评的时候提供一些扩展思路:其实整型数组的话一个数组元素可以表示不止一位数字啊之类的(没试过,感觉可能转化来转化去会比较麻烦)。。

今天看书看到用FFT做大数乘法的顿时觉得自己弱爆了。。

好吧。。然后找资料的过程中发现了这个博客。。有专门的大数分析啊。。http://www.cnblogs.com/lsx54321/category/397651.html

存下来好好看吧。

 

posted @   圣骑士wind  阅读(1778)  评论(0编辑  收藏  举报
编辑推荐:
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· Obsidian + DeepSeek:免费 AI 助力你的知识管理,让你的笔记飞起来!
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示