friend decnum pow(const decnum& x, int n);
friend decnum root(const decnum& x, int n);
friend decnum div(const decnum& x, const decnum& y, decnum& r);
friend decnum abs(const decnum& x);
friend bool operator==(const decnum& x, const decnum&y);
friend bool operator!=(const decnum& x, const decnum&y);
friend bool operator>(const decnum& x, const decnum&y);
friend bool operator<(const decnum& x, const decnum&y);
friend bool operator>=(const decnum& x, const decnum&y);
friend bool operator<=(const decnum& x, const decnum&y);
friend ostream& operator<<(ostream&os, const decnum& x);
decnum() : cap(0), num(0), sign(0), val(NULL) { }
decnum(const char *v, int n)
for(i = 0; i < n && v[i] == '0'; i++);
for (j=0,k=n-1;k>=i;--k,++j)
if (v[k]>='0' && v[k]<='9')
memcpy(val, x.val, x.num);
val[i] = temp[n-1-i] - '0';
sprintf(temp, "%lld", x);
val[i] = temp[n-1-i] - '0';
~decnum() { delete[] val; }
int size() const { return num; }
decnum& operator=(const decnum& x)
memcpy(val, x.val, x.num);
decnum& operator=(long long x)
decnum& operator+=(const decnum& x);
decnum& operator-=(const decnum& x);
decnum& operator*=(const decnum& x);
decnum& operator/=(const decnum& x);
decnum& operator%=(const decnum& x);
decnum operator+(const decnum& x) const;
decnum operator-(const decnum& x) const;
decnum operator*(const decnum& x) const;
decnum operator/(const decnum& x) const;
decnum operator%(const decnum& x) const;
bool ispow(int n, decnum& r) const;
decnum& absadd(const decnum& x);
decnum& abssub(const decnum& x);
bool absge(const decnum& x);
cout << "input x:" << endl;
x = decnum(line.c_str(), line.length());
cout << "input y:" << endl;
y = decnum(line.c_str(), line.length());
cout << "x = " << x << endl;
cout << "y = " << y << endl;
cout << "x * y =" << x * y << endl;
cout << "x / y =" << x / y << endl;
cout << "x % y =" << x % y << endl;
cout << "div(x, y) =" << div(x , y, r) << endl;
cout << "mod(x, y) =" << r << endl;
cout << "y ^ 2 =" << pow(y, 2) << endl;
cout << "x ^ 1/2 =" << root(x, 2) << endl;
cout << "x is pow = " << x.ispow() << endl;
本文转自Phinecos(洞庭散人)博客园博客,原文链接:http://www.cnblogs.com/phinecos/archive/2008/11/12/1332344.html,如需转载请自行联系原作者