📄 bignum.h
字号:
/*******************************************************************
* 大数运算类(支持大数的加减乘除和赋值运算) *
* 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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -