• 大小: 5.32KB
    文件类型: .cpp
    金币: 1
    下载: 0 次
    发布日期: 2021-02-01
  • 标签:

资源简介

#ifndef HUGEINT_H 
#define HUGEINT_H 
#include <iostream> 
using std::ostream; 
class HugeInt
{
friend ostream& operator<<(ostream&, const HugeInt&);
public:
HugeInt(long = 0); 
HugeInt( const char * ); 
HugeInt operator ( const HugeInt & ) const; 
HugeInt operator ( int ) const;  
HugeInt operator ( const char * ) const; 
bool operator==(const HugeInt&) const;  
bool operator!=( const HugeInt & ) const;  
bool operator<( const HugeInt & ) const; 
bool operator<=( const HugeInt & ) const;    
bool operator>( const HugeInt & ) const; 
bool operator>=( const HugeInt & ) const;  
HugeInt operator-( const HugeInt & ) const; 
HugeInt operator*( const HugeInt & ) const; 
HugeInt operator/( const HugeInt & ) const; 
void output();
    int getLength() const;
private:   
int integer[40];
}; 

#endif 

资源截图

代码片段和文件信息

#include
#include“hugeint.h“
using namespace std;
ostream& operator<<(ostream& output const HugeInt& n)
{
int i;
for (i = 0; (n.integer[i] == 0) && (i <= 39); i++);
if (i == 40)
output << 0;
else
for (i; i < 40; i++)
{
output << n.integer[i];
}
return output;
}
HugeInt::HugeInt(long num)
{
for (int i = 0; i < 40; i++)
{
integer[i] = 0;
}
for (int j = 39; num != 0 && j > 0; --j)
{
integer[j] = num % 10;
num /= 10;
}
}
HugeInt::HugeInt(const char* c)
{
for (int i = 0; i < 40; i++)
integer[i] = 0;
int lenth = strlen(c);
for (int j = 40 - lenth k = 0; j < 40; j++ k++)
if (isdigit(c[k]))
integer[j] = c[k] - ‘0‘;
}
HugeInt HugeInt::operator+(const HugeInt& n) const
{
HugeInt temp;
int carry = 0;
for (i

评论

共有 条评论