您的位置:首页 > 其它

高精度模板

2016-11-26 14:56 148 查看
全盘推翻,改吧!!!上次写的时候简直是个智障

class ultimateint {
private:
vector<int> d;
int base;
void supress();
public:
ultimateint(void);
ultimateint(const int);
ultimateint(const long long);
ultimateint(const char *);
ultimateint(const ultimateint&);

friend istream& operator>>(istream&, ultimateint&);
friend ostream& operator<<(ostream&, ultimateint&);

ultimateint & operator = (const ultimateint &);

bool operator == (const ultimateint &) const;
bool operator > (const ultimateint &) const;
bool operator < (const ultimateint &) const;
bool operator >= (const ultimateint &) const;
bool operator <= (const ultimateint &) const;

friend bool operator == (const int&, const ultimateint &);
friend bool operator > (const int&, const ultimateint &);
friend bool operator < (const int&, const ultimateint &);
friend bool operator >= (const int&, const ultimateint &);
friend bool operator <= (const int&, const ultimateint &);

friend bool operator == (const long long&, const ultimateint &);
friend bool operator > (const long long&, const ultimateint &);
friend bool operator < (const long long&, const ultimateint &);
friend bool operator >= (const long long&, const ultimateint &);
friend bool operator <= (const long long&, const ultimateint &);

ultimateint operator + (const ultimateint &) const;
ultimateint operator - (const ultimateint &) const;
ultimateint operator * (const ultimateint &) const;
ultimateint operator / (const ultimateint &) const;
ultimateint operator % (const ultimateint &) const;

ultimateint operator + (const int &) const;
ultimateint operator - (const int &) const;
ultimateint operator * (const int &) const;
ultimateint operator / (const int &) const;
ultimateint operator % (const int &) const;

ultimateint operator + (const long long &) const;
ultimateint operator - (const long long &) const;
ultimateint operator * (const long long &) const;
ultimateint operator / (const long long &) const;
ultimateint operator % (const long long &) const;

friend ultimateint operator + (const int&, const ultimateint &);
friend ultimateint operator - (const int&, const ultimateint &);
friend ultimateint operator * (const int&, const ultimateint &);
friend ultimateint operator / (const int&, const ultimateint &);
friend ultimateint operator % (const int&, const ultimateint &);

friend ultimateint operator + (const long long&, const ultimateint &);
friend ultimateint operator - (const long long&, const ultimateint &);
friend ultimateint operator * (const long long&, const ultimateint &);
friend ultimateint operator / (const long long&, const ultimateint &);
friend ultimateint operator % (const long long&, const ultimateint &);

void operator ++ (void);
void operator -- (void);

~ultimateint() {}

};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: