/*********************************
*本例实现大整数相加
*作者:yubaolee
*日期:2010-5-30
**********************************/
#include <iostream>
#include <algorithm>
#include <string>
using namespace std;
int main()
{
string str1;
string str2;
while(cin>>str1>>str2)
{
int nLen1, nLen2, nLen;
nLen1 = str1.length();
nLen2 = str2.length();
nLen = nLen1 > nLen2 ? nLen1 : nLen2;
reverse(str1.begin(), str1.end());
reverse(str2.begin(), str2.end());
//高位补零
if (nLen > nLen1) str1.append(nLen - nLen1, '0');
if (nLen > nLen2) str2.append(nLen - nLen2, '0');
int temp = 0; //进位数目
int i = 0;
string strResult; //存储结果
while (i < nLen)
{
if(str1[i] -0x30 + str2[i] + temp > '9')
{
strResult.append(1, str1[i] + str2[i] - '9' - 1 + temp);
temp = 1;
}
else
{
strResult.append(1, str1[i] + str2[i] - '0' + temp);
temp = 0;
}
i++;
}
if(temp == 1)
strResult.append(1, '1');
reverse(strResult.begin(), strResult.end());
cout<<strResult<<endl;
}
return 0;
}
分享到:
相关推荐
C++单链表实现大数加法 大数加法是一种常见的算法问题,特别是在C++中实现大数加法时需要考虑到数字的位数和溢出问题。使用单链表来实现大数加法可以解决这个问题。本文将详细介绍如何使用C++单链表实现大数加法。 ...
这个项目"BigNumberAdd"显然是关于如何用C++来实现大数加法和减法的示例。 首先,我们要创建一个表示大数的数据结构。一种常见的方法是使用字符串,因为字符串可以存储任意长度的数字,每个字符对应一个数字位。...
以下是对“c++大数加法乘法源码”主题的详细解释: 首先,我们需要了解大数数据结构。一种常见的方法是使用数组存储每个位,从最低位到最高位。例如,我们可以用一个整数数组`int digits[]`来表示大数,数组中的每...
在标题“gaojingdu.rar_c 大数加法_c++大数除法_大数 加 减 乘 除_大数算法_高精度”中,我们关注的是用C语言和C++实现的高精度算法,特别是大数的加法、减法、乘法和除法。这些操作是基础数学运算,但在计算机中...
用C++写的重载的大数模板 大数加法、大数乘法、大数除法、大数减法 带有注释
本项目中,开发者用C++实现了大数阶乘和大数加法,虽然大数乘法未成功,但我们可以深入探讨这两个功能的实现原理。 ### 大数阶乘 大数阶乘的实现通常涉及到动态规划和链表数据结构。在C++中,由于没有内置的大数...
大数加法程序 大数加法程序 大数加法程序 C,C++
**大数加法** 大数的加法可以使用类似于小学数学的方法,即从低位到高位逐位相加,并处理进位。为了实现这个算法,我们可以编写一个函数,接收两个大数数组和一个结果数组作为参数。首先,将两个输入数组的长度调整...
大数加法的实现通常遵循类似于我们小学时学习的竖式加法。首先,从最低位开始逐位相加,如果超过9,则需要进位。在C++中,这可能涉及对两个大数的向量迭代,同时考虑进位。对于溢出的情况,我们需要将进位值传递到...
本项目“C++大数计算简单实例测试”提供了一个基本的解决方案,用于进行大数的算术运算,如加法、减法、乘法等。以下将详细介绍该实例所涵盖的C++知识点。 1. **自定义数据结构**: 在C++中,由于没有内置的大数...
这个"简单的C++大数类"是作者自定义实现的一个C++库,专门用于处理大数运算。以下是对这个类的一些关键知识点的详细说明: 1. **大数表示**:大数类通常使用数组或链表存储多位数字,每个元素代表一个位。在这个C++...
大数类C++实现详解 大数类是一个重要的数据结构在计算机科学中,它可以用来表示非常大的整数,通常超过了机器字长的限制。在C++中,可以通过重载运算符和实现自定义的整数类来实现大数类。 在这个示例代码中,我们...
1. **大数加法**: 大数相加通常采用类似于小学生做加法的方式,从个位开始逐位相加,如果某一位的和超过了10,则需要向高位进位。在C++中,可以使用字符串或自定义整数数组来存储大数,然后遍历每个位进行加法操作...
以下将详细讨论大数加法的原理、实现方法以及可能遇到的问题。 首先,大数加法的基本原理类似于我们小时候学习的竖式加法。每个数字由多个位组成,我们逐位进行相加,并处理进位。具体步骤如下: 1. 初始化:根据...
C++使用string的大数加法运算 C++使用string的大数加法运算是一种常见的编程技术,特别是在大规模数据处理和科学计算领域中。本文将详细介绍如何使用C++的string类来实现大数的加法运算。 大数加法运算的定义 ----...
在C++编程语言中,处理大数(超过标准整型或浮点型所能表示范围的数值)是一项挑战,因为内置的数据类型无法满足这样的需求。针对这种情况,开发者通常需要设计自定义的数据结构和算法来实现大数运算,如加法、减法...
本项目标题为“c++编写的大数运算”,它关注的是如何使用C++进行大数的加法、减法、乘法和除法等基本操作。描述中提到,这个实现是可视化的,并且能处理40位以内的大数,理论上可以扩展到更大的位数。 首先,我们要...
C++作为一种强大的编程语言,提供了多种方式来实现大数运算,包括加法、减法、乘法等。本文将详细解析一个基于C++实现的大数减法算法。 ### C++实现大数减法的关键知识点 #### 1. 数据存储与转换 在C++中,由于...
以下是一些关于C++实现大数计算的关键知识点: 1. **自定义大数类(BigInt)**:通常,我们会创建一个类(如BigInt)来存储和操作大数。这个类通常会包含一个整数数组来保存每一位数字,并提供相应的运算符重载(如...
总之,`stringCalculate`提供的C++大数计算功能,是通过字符串或其他高效数据结构来存储和处理大整数,实现了大数的加、减、乘、除等基本运算。理解并运用这些算法和技巧,对于进行高级数值计算、密码学或游戏开发等...