Listing 4: Division of BigNum by long integer
BigNum BigNum::operator/(long denom){ BigNum a; if (abs(*this)<abs(denom)) return a; a.positive = ((denom<0 && !this->positive) || (denom>0 && this->positive)); if (denom <0) denom = -denom; long r = 0; if (denom){ a = *this; for(int i=this->exp;i>=0;i--){ long temp = long(this->x[i]) + r*BASE; a.x[i] = temp/denom; r = temp % denom; } while(!a.x[a.exp] && a.exp) a.exp--; } else cerr << "divide by zero error"; return a; } //End of File