#ifndef _BIGINT #define _BIGINT #include using namespace std; class BigInt { friend ostream & operator<<(ostream&, BigInt*); char *numb; int cmp(char*,char*); char *addBigInt (char*,char*); char *shiftLeft (char*,int); char *multiplyLine (char*,char); char *complement(char *,size_t); public: ~BigInt(); bool sign; BigInt(char*); BigInt(int); char *value(); BigInt *toBigInt(long long); BigInt *addBigInt (BigInt*); BigInt *multiplyBigInt (BigInt*); BigInt *subtractBigInt(BigInt*); BigInt *modBigInt(BigInt*); BigInt *divideBigInt(BigInt*); BigInt *divideByTen(); bool lessThanBigInt(BigInt*); bool equalsBigInt(BigInt*); bool absoluteLessThanBigInt(BigInt*); int sizeOf(); BigInt &operator*(BigInt &); BigInt &operator*(BigInt *); BigInt &operator/(BigInt &); BigInt &operator/(BigInt *); BigInt &operator+(BigInt &); BigInt &operator+(BigInt *); BigInt &operator-(BigInt &); BigInt &operator-(BigInt *); BigInt &operator%(BigInt &); BigInt &operator%(BigInt *); BigInt &operator=(BigInt &); bool operator<(BigInt &); bool operator<(BigInt *); }; ostream & operator<<(ostream&, BigInt*); ostream & operator<<(ostream&, BigInt&); #endif