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

📄 bigint.h

📁 本代码是一个大整数类的定义
💻 H
字号:
// bigint.h: interface for the bigint class.
//定义一个超高精度的类bigint,用以实现超过20位有效数字整型数值的运算,并具有
//兼容已有整型数据int的能力,能与int数据混合运算。
//////////////////////////////////////////////////////////////////////


#if !defined(AFX_bigint_H__7CCD5AC4_58A5_11D7_BAE3_00E04C41E1AD__INCLUDED_)
#define AFX_bigint_H__7CCD5AC4_58A5_11D7_BAE3_00E04C41E1AD__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

class bigint  
{
public:
	char * soure;  //数的字符串形式
	int sign;	  //数的符号:>=0时为+1;<0时为-1
	int arr_n;	  //数转换为数组表示后数组的大小
	long  *sl;	  //数的数组表示
public:
	bigint();
	bigint(const char * s);
	bool operator >(const bigint &num);		//大于比较
	bool operator >=(const bigint &num);		//大于等于比较
	bool operator ==(const bigint &num);		//相等比较
	bool operator <(const bigint &num);		//小于比较
	bool operator <=(const bigint &num);		//小于等于比较
	bool operator !=(const bigint &num);		//不等于比较
	bigint operator +(const bigint &num);     //加运算
	bigint operator +(int num);				//与常规整数的加运算
	bigint operator -(const bigint &num);		//减运算
	bigint operator -(int num);				//与常规整数的减运算
	bigint operator *(const bigint &num);		//乘运算
	bigint operator *(int num);				//与常规整数的乘运算
	bigint operator /(const  bigint &num);     //除运算
	bigint operator /(int num);				//与常规整数的除运算
	void operator =(int num);				//用常规整数进行赋值
	void operator =(char * num);				//用常规整数串进行赋值
	bigint operator %(const bigint &num);		//求余运算
	bigint operator %(int num);				//与常规整数的求余运算
	bigint operator -();						//求相反数
	friend void regulator(bigint *num);		//进位、借位调整器
	friend void  regulator_sign(bigint *num); //符号调整  
	void setval(const char * s);				//设置值
	char * getval();							//获取值
	friend void sltostr(bigint *num);		//将数值数组转换为内部串soure
        friend bigint abs(const bigint &num);	//求绝对值
	virtual ~bigint();

};

#endif // !defined(AFX_bigint_H__7CCD5AC4_58A5_11D7_BAE3_00E04C41E1AD__INCLUDED_)

⌨️ 快捷键说明

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