没有合适的资源?快使用搜索试试~ 我知道了~
首页高精度计算方法与实现示例
高精度计算方法与实现示例
需积分: 9 0 下载量 46 浏览量
更新于2024-07-15
收藏 756KB PDF 举报
本资源是一份关于"第1章 高精度计算"的PDF文档,主要介绍了在计算机数值计算中处理高精度需求的技巧和方法。首先,高精度计算是针对那些需要达到几十位甚至几百位精度的问题,尽管现代计算机的计算能力相对较强,但仍受限于硬件的局限性。为实现这种高精度,文档强调了以下核心知识点: 1. 数据接收与存储:针对长数的处理,通常采用字符串方式输入,通过字符串函数逐位读取并将数字存入数组中,例如`void init(int a[])`函数就展示了如何将输入的字符串转换为倒序存储的数组。这种方法允许处理任意长度的数字。 2. 位数确定:在接收数据时,位数直接对应于字符串的长度,无需额外处理。 3. 进位与借位:高精度加法、减法和乘法涉及到进位和借位的处理,如在加法中,如果结果超过10就需要对下一位进行进位;而在乘法中,通过取余和整除操作来更新当前位的值。 4. 商和余数求法:在高精度除法中,商和余数的计算同样依赖于被除数和除数的位数,需要根据具体情况进行相应的处理。 5. 示例应用:文档以"高精度加法"为例,阐述了如何在C++中采用类似竖式计算的方式,通过循环和临时变量来处理大数相加,避免了由于数据类型范围限制导致的精度损失。 6. 问题解决:由于C++等编程语言的数据类型有其上限,对于大数的处理,需要设计特殊的算法,确保计算的正确性和高精度。 总结来说,这份文档为读者提供了实现高精度计算的基本步骤和策略,适用于那些在实际编程中需要处理大数运算的场景,例如财务计算、密码学或者科学计算等领域。通过学习和实践这些技术,开发者可以克服计算机硬件限制,提高计算精度。
资源详情
资源推荐
![](https://csdnimg.cn/release/download_crawler_static/12915098/bg9.jpg)
(2)、 高精度数位数的确定
位数的确定:接收时往往是用字符串的,所以它的位数就等于字
符串的长度。
(3)、 进位,借位处理
加法进位:c[i]=a[i]+b[i];
if ( c[i] >= 10 ) { c[i]%=10; ++c[i+1]; }
减法借位:if ( a[i] < b[i] )
{ --a[i+1]; a[i]+=10;c[i]=a[i]-b[i]; }
乘法进位:c[ i+j-1 ]= a[i]*b[j] + x + c[i+j-1];
x = c[i+j-1]/10;
c[i+j-1] %= 10;
(4) 商和余数的求法
商和余数处理:视被除数和除数的位数情况进行处理.
![](https://csdnimg.cn/release/download_crawler_static/12915098/bga.jpg)
乘法进位:c[i+j-1]= a[i]*b[j] + x + c[i+j-1];
x = c[i+j-1]/10;
c[i+j-1] %= 10;
(4) 商和余数的求法
商和余数处理:视被除数和除数的位数情况进行处理.
![](https://csdnimg.cn/release/download_crawler_static/12915098/bgb.jpg)
【例1】高精度加法。输入两个正整数,求它们的和。
【分析】
输入两个数到两个变量中,然后用赋值语句求它们的和,输出。但
是,我们知道,在C++语言中任何数据类型都有一定的表示范围。而当
两个被加数很大时,上述算法显然不能求出精确解,因此我们需要寻求
另外一种方法。在读小学时,我们做加法都采用竖式方法,如图1。 这
样,我们方便写出两个整数相加的算法。
8 5 6
+ 2 5 5
1 1 1 1
图 1
A
3
A
2
A
1
+ B
3
B
2
B
1
C
4
C
3
C
2
C
1
图 2
如果我们用数组A、B分别存储加数和被加数,用数组C存储结果。
则上例有A[1]=6,A[2]=5, A[3]=8,B[1]=5,B[2]=5,B[3]=2,C[4]=1,
C[3]=1,C[2]=1,C[1]=1,两数相加如图2所示。
剩余50页未读,继续阅读
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://profile-avatar.csdnimg.cn/f592ccf136744be2b966ff59bc7b59f6_dllglvzhenfeng.jpg!1)
![](https://csdnimg.cn/release/wenkucmsfe/public/img/user-vip.1c89f3c5.png)
dllglvzhenfeng
- 粉丝: 1w+
- 资源: 1869
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
最新资源
- 岩石滑动与断层冲击地压:声发射特征分析
- 新时代煤炭工业八大战略新取向剖析
- 开采强度对华亭矿区冲击地压危险性的影响分析
- 新安煤矿探采对比:影响安全生产的关键因素与技术支撑
- 210MW循环流化床锅炉引风机变频改造优化与节能效果
- 浅埋煤层开采沉陷预测:方法应用与影响分析
- 优化巷道过陷落柱支护方案:数值模拟与现场试验
- 坚硬顶板定向断裂爆破技术:安全高效采煤新方案
- 北航2019算法课作业解析:投资策略与凸子多边形优化
- 断层破碎带垮冒下堆积体边界抗力分布关键影响因素
- 哈拉沟选煤厂优化末煤系统提高效率与处理能力
- 瓦斯涌出影响下采动煤体蠕变失稳研究
- 提升煤矿装载效率的可控箕斗定量装载设备设计
- 水分调控下烟煤瓦斯吸附特性对比研究
- 重介质悬浮液密度控制硬件设计与选型探讨
- 坚硬顶板巷道支护参数设计:现场测试与数值分析
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035111.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)