📄 bigint.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 + -