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

📄 long_number.h

📁 长整数的加减乘 重载了运算符
💻 H
字号:
#ifndef _long_number_h_
#define _long_number_h_
#include <iostream>

using namespace std;

typedef struct number_node
{
	int node;
	struct number_node *high_link;
	struct number_node *low_link;
} number_node;

class long_number
{
public :
	int sign;//符号位
	int integer_long,decimal_long;//整数和小数部分的长度
	number_node * integer_head, * integer_tail;//整数部分
	number_node * decimal_head, * decimal_tail;//小数部分
	//基本运算函数
	//可以完成两个正数的加法和正数的大数减小数
	bool basic_operation(const long_number &);
	//基本比较函数
	//传入数比自身大返回-1;小返回1;相等返回0;
	int basic_compare(long_number &);
	//数据标准化函数
	//完成去除整数前和小数后多余的零
	bool number_std();
public :
	long_number();
	long_number(const long_number&);//复制构造函数
	~long_number();
	//输入输出的重载函数
	friend ostream& operator<<(ostream & out ,const long_number &temp);
	friend istream& operator>>(istream & in,long_number &temp);
	//运算符的重载
	long_number& operator=(long_number &);
	long_number operator+(long_number &);
	long_number operator-(long_number &);
	long_number operator*(long_number &);
	//比较符的重载
	bool operator<(long_number &);
	bool operator>(long_number &);
	bool operator==(long_number &);
	bool operator<=(long_number &);
	bool operator>=(long_number &);
	bool operator!=(long_number &);
};

#endif

⌨️ 快捷键说明

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