⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cintegerz.h

📁 自己定义的 class -- CIntegerZ 支持高低精度混合运算。
💻 H
字号:
// 十进制
// 高低精度整数混合 加, 减, 乘, 取商, 取余 运算
// 默认一切操作合法
// 使用 ascii 而非 unicode
//

#ifndef C_INTEGER_H_BY_ZJ
#define C_INTEGER_H_BY_ZJ

#include <string>
using std::string;

// 高精度数组长度
#define MAX_CINTEGERZ_IP_LENGTH     610

class CIntegerZ
{
public:
        CIntegerZ();
        CIntegerZ( int );
        CIntegerZ( string & );
        CIntegerZ( char * );

        ~CIntegerZ();

        CIntegerZ operator=( int );
        CIntegerZ operator=( string & );
        CIntegerZ operator=( char * );

        CIntegerZ Abs( void );
        CIntegerZ NegativeAbs( void );

        string CIntZ2Str( void );

        friend int operator>( CIntegerZ &, CIntegerZ & );
        friend int operator>( int,         CIntegerZ & );
        friend int operator>( CIntegerZ &, int         );

        friend int operator<( CIntegerZ &, CIntegerZ & );
        friend int operator<( int,         CIntegerZ & );
        friend int operator<( CIntegerZ &, int         );

        friend int operator==( CIntegerZ &, CIntegerZ & );
        friend int operator==( int,         CIntegerZ & );
        friend int operator==( CIntegerZ &, int         );

        friend int operator>=( CIntegerZ &, CIntegerZ & );
        friend int operator>=( int,         CIntegerZ & );
        friend int operator>=( CIntegerZ &, int         );

        friend int operator<=( CIntegerZ &, CIntegerZ & );
        friend int operator<=( int,         CIntegerZ & );
        friend int operator<=( CIntegerZ &, int         );

        friend CIntegerZ operator+( CIntegerZ &, CIntegerZ & );
        friend CIntegerZ operator+( int,         CIntegerZ & );
        friend CIntegerZ operator+( CIntegerZ &, int         );

        friend CIntegerZ operator-( CIntegerZ &, CIntegerZ & );
        friend CIntegerZ operator-( int,         CIntegerZ & );
        friend CIntegerZ operator-( CIntegerZ &, int         );

        friend CIntegerZ operator*( CIntegerZ &, CIntegerZ & );
        friend CIntegerZ operator*( int,         CIntegerZ & );
        friend CIntegerZ operator*( CIntegerZ &, int         );

        friend CIntegerZ operator/( CIntegerZ &, CIntegerZ & );
        friend CIntegerZ operator/( int,         CIntegerZ & );
        friend CIntegerZ operator/( CIntegerZ &, int         );

        friend CIntegerZ operator%( CIntegerZ &, CIntegerZ & );
        friend CIntegerZ operator%( int,         CIntegerZ & );
        friend CIntegerZ operator%( CIntegerZ &, int         );

private:
        int bPositive, ip[MAX_CINTEGERZ_IP_LENGTH];
        static int rrrr, rlen, nlen, maxlen;
};

#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -