bignum.h

来自「一个用C++写的大数运算类」· C头文件 代码 · 共 38 行

H
38
字号
/*******************************************************************
 *                 大数运算类(支持大数的加减乘除和赋值运算)        *
 *                  by czlin(Xi'an JiaoTong University)            *  
 *                  email:czlin@hkem.com                           *
 *		   你可以自由复制和传播该程序,但请保留上述说明    *
 *******************************************************************                     
 *                                                                 *
 * 1. 实现原理:                                                   *
 *  任何一个数都可以表示成指数形式,如下所示:                     *
 *  N=nEe (0=<n的绝对值<=1,e为10的指数幂)                          *              
 *	例如100可以表示成1E2,1001可以表示成1.01E3                  *
 *  类 CBigNumber的成员number为上述的n,exponent为上述的e          *
 * 2. 如何使用这个类:                                              *
 *  你可以把CBigNumber的头文件和实现函数加入你的工程,然后定义     *
 *  该类的实例,就可以对这些实例进行加减乘除了(详见示例程序)       *  
 *******************************************************************/
class CBigNumber
{
private:
	double number;     //数部                      
	int	  exponent;    //指数部分
private:
	void Convert();   //将该数转化成标准形式(0<=数部的绝对值<=1)
public:
	CBigNumber();
	CBigNumber(float num);
	CBigNumber(float num,int exp);
	CBigNumber operator+(const CBigNumber& b); 
	CBigNumber operator-(const CBigNumber& b);
	CBigNumber operator*(const CBigNumber& b);
	CBigNumber operator/(const CBigNumber& b);
	CBigNumber operator=(const CBigNumber& b);
	
	double	GetNumber();        //取得该数的数部               
	int		GetExp();           //取得该数的指数部分
};

⌨️ 快捷键说明

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