一.高精度
【高精度数】
在一般的科学计算中,会经常算到小数点后几百位或者更多,当然也可能是几千亿几百亿的大数字。一般这类数字我们统称为高精度数,高精度算法是用计算机对于超大数据的一种模拟加、减、乘、除、乘方、阶乘、开方等运算。
【思想】
高精度算法本质上是用字符串模拟数字进行计算,再利用类似于数学里的竖式的形式,一位一位进行相关计算 。
【数据存储】
当输入的数很长时,可采用字符串方式输入,这样可输入位数很长的数,利用字符串函数和操作运算,将每一位取出,存入数组中(记得减去 '0' )。
【代码】
#include <iostream>
#include <vector>
using namespace std;
vector<int> add(vector<int> &A,vector<int> &B){
if(A.size()<B.size()) add(B,A);
vector<int> C;
int t=0;//t表示进位
for(int i=0;i<A.size()||i<B.size();i++){
if(i<A.size()) t+=A[i];
if(i<B.size()) t+=B[i];
C.push_back(t%10);
t/=10;//更新t的值
}
if(t) C.push_back(t)
高精度算法与C++中的vector应用

本文主要探讨了高精度算法,这是一种用于处理超大数据的计算机模拟运算方法,涉及加、减、乘、除等操作。文章通过字符串存储高精度数,并详细介绍了高精度加法、减法、乘法和除法的实现。此外,还讲解了C++中的vector,作为一种动态数组和数据容器,其使用和常见算法。
最低0.47元/天 解锁文章
515

被折叠的 条评论
为什么被折叠?



