Курсовая работа: Реализация класса больших чисел
{
rasn.push_front (abs((big2.vect.at(i)+temp+10)%10));
if ((temp == -1) && (big2.vect.at(i) + temp) < 0) temp = -1; else temp = 0;
}
big2.vect = rasn;
return big2;
}
}
// _______________________ Произведениебольшихчисел _____________
BigInteger proisvedenie (BigInteger big1, BigInteger big2)
{
BigInteger proisv;
proisv.vect.push_back(0);
BigInteger reserv;
BigInteger reserv2;
for (int i = big1.vect.size() – 1, count = 0; i >= 0; i –, count++)
{
if (big1.vect.at(i) == 0) {} // умножениена 0
else
if (big1.vect.at(i) == 1) // умножение на 1, просто прибавляем число с «добитыми» нулями
{
reserv2.vect = big2.vect;
for (int k = 0; k < count; k++) // добиваем нулями в зависимости от разряда умножения
reserv2.vect.push_back(0);
proisv = summa (reserv2, proisv);
}
else
{
int temp = 0;