大数的加减乘除
2017-09-08 14:17
183 查看
利用string类或整形数组可以实现大数的加减乘除。string类具有较好的动态增长性,整形数组处理数字的运算比较方便。
两者都是将运算的对象按照各个数位保存起来,每个数位按照对应的运算法则进行运算。
1. 大数相加
两者都是将运算的对象按照各个数位保存起来,每个数位按照对应的运算法则进行运算。
#include <string> using namespace std;
1. 大数相加
string BigAdd(string a, string b) { if (a.empty()) { return b; } if (b.empty()) { return a; } if (a.size() < b.size()) { a.insert(a.begin(), b.size() - a.size(), '0'); } if (a.size() > b.size()) { b.insert(b.begin(), b.size() - b.size(), '0'); } int len = a.size(); int carry = 0; for (int i = len - 1; i >= 0; --i) { int sum = a[i] - '0' + b[i] - '0' + carry; a[i] = sum % 10 + '0'; carry = sum / 10; } if (carry) { a.insert(a.begin(), 1, static_cast<char> (carry + '0')); } return a; }
相关文章推荐
- (模板)c++ 大数(正数加减乘除)
- 【数据结构与算法】String大数加减乘除(非负整数)
- 关于大数加减乘除方面的感想
- 大数加减乘除等的模板以及1000以内阶乘的模板
- Java 大数加减乘除 hdu 5047
- 每日一练——大数加减乘除运算实现
- hdu 4927 Series 1 (大数模板加减乘除)
- 大数(高精度)加减乘除
- 使用String模拟大数加减乘除(除法和取余待补充)
- 大数加减乘除?
- uva 10494(大数加减乘除取余一条龙模板代码) uva 10023 (大数开方)
- 大数的加减乘除运算(C++)
- 大数运算实现加减乘除四则运算
- 大数加减乘除
- 大数的加减乘除、取对数、求次方、进制转换、三角函数的原理
- 大数高精度加减乘除 51nod 1005 大数加法
- 大数运算之加减乘除
- [源码]个人的大数相乘法及[转载]大数加减乘除法完全设计
- java 大数操作(加减乘除及取余)
- java大数加减乘除