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

📄 hugenumber.h

📁 一个较完备的HugeNumber类
💻 H
字号:
#ifndef HUGENUMBER_H
#define HUGENUMBER_H

class HugeNumber
{
public:
	HugeNumber( int s = 1 );

	/**
	 * this is the constructor,
	 * number is array,
	 * s is the size of the array
	 * pos 小数点的位置  the pos of 1234.567 is 4
	 * positiveNegtive 正负标记 0 正,1负
	 * precisionN 数字的精确度
	 */
	HugeNumber( int * number, int s, int pos, int positiveNegtive, int precisionN = 50 );
	HugeNumber( const HugeNumber & huge );
	~HugeNumber();
	HugeNumber & operator = ( const HugeNumber & huge );
	bool operator > ( const HugeNumber & huge );   // the comparasion of absolute value
	HugeNumber & operator += ( HugeNumber & huge );
	HugeNumber & operator -= ( HugeNumber & huge );
	HugeNumber & operator *= ( const HugeNumber & huge );
	HugeNumber & operator /= ( const HugeNumber & huge );
	int factorial();
	int operator ^= ( const HugeNumber & huge );
	void print();
private:
	int *hugeNumber;
	int size;
	int floatPosition;
	int precision;

	inline int max( int a, int b )  {  return a > b ? a : b; }
	void print( int a[], int size );   //this print finction print from 1, not 0
	void init( int a[], int size );
	void copy( int a[], int b[], int size );
	int findAppropriate( int a[], int b[], int size ); 
	bool isZero( int a[], int size );
	void moveLeftAndValue( int a[], int size, int item );
	int convertToInt( int a[], int n );
	int findHowMany( int x );
	int square( int x, int y, int result[], const int size );
};

#endif

⌨️ 快捷键说明

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