什么是大整数BigInteger?
假设某一数字有1000位,一般这种数字就是就叫BigInteger,这种数字即使使用unsigned long long 类型也无法表示(unsigned long long的最大值:18446744073709551615)
如何处理BigInter?
这个时候我们如何处理这种类型的数字呢?机器不能算,我们可以靠人工来计算, 就是小学生都会的简单加减乘除四则运算。
这种数据我们一般用一个数组来表示,用char类型(或者C++的string)把一串大整数当做字符串来读取,然后将这些字符转换成纯数字(-‘0’),由于我们做加减乘除都是从后往前,所以我们采用倒序存储的方法,比如 “123456”我们存到数组里时令
arr[ 0 ] = 6 ,
arr[ 1 ] = 5 ,
arr[ 2 ] = 4 ,
arr[ 3 ] = 3,
arr[ 4 ] = 2 ,
arr[ 5 ] = 1
处理代码(C++)
void change(string ss, vector<int> &arr) //vector写在了main函数中,于是用了下引用
{
for(int i = ss.length()-1; i>=0; i--)
arr.push_back(ss[i]-'0');
}
BigInteger之间的比较
如