hugenumber.h

来自「一个较完备的HugeNumber类」· C头文件 代码 · 共 47 行

H
47
字号
#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 + =
减小字号Ctrl + -
显示快捷键?