大数加减

版权声明:私藏源代码是违反人性的罪恶行为!博客转载无需告知,学无止境。 https://blog.csdn.net/qq_41822235/article/details/83757171
class BigData
{
    public:
        BigData(int data)
        {
            int tmp = 0;
            while(data)
            {
                tmp = data % 10;
                _data.push_back(tmp);
                data/=10;
            }
        }

        vector<int> operator+(BigData &src)
        {
            vector<int>::iterator it1 = _data.begin();
            vector<int>::iterator it2 = scr.begin();
            vector<int> tmp;
            int carry = 0;
            for(; it1!= _data.end() && it2 != src.end(); it1++,it2++)
            {
                tmp.push_back((*it1+*it2+carry)%10);
                carry = (*it1+*it2+carry)/10;
            }
            while(it1 != _data.end())
            {
                tmp.push_back(*it1++ +carry);
                carry = 0;
            }
            while(it2 != src.end())
            {
                tmp.push_back(*it2++ +carry);
                carry = 0;
            }
            return tmp;
        }
    private:
        vector<int> _data;
}

猜你喜欢

转载自blog.csdn.net/qq_41822235/article/details/83757171