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

📄 radixconverter.h

📁 这是一个应用软件,用于处理大数,里面包含一些小的实用的软件,如生成 素数 ,大数阶乘.
💻 H
字号:
// RadixConverter.h: interface for the CRadixConverter class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_RADIXCONVERTER_H__E2901CAA_F542_457C_99A4_88D4581CBA69__INCLUDED_)
#define AFX_RADIXCONVERTER_H__E2901CAA_F542_457C_99A4_88D4581CBA69__INCLUDED_

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

#include "HugeCalc.h"

class CHugeInt;
class CHugeIntX;

#define RADIXCONVERTER_API HUGECALC_API

class RADIXCONVERTER_API CRadixConverter
{
public:
	explicit CRadixConverter( CONST UINT32 u32Radix, CONST SIGN enumSign = SIGN_POS, CONST UINT32_CVECTOR * CONST pVector = NULL );
	explicit CRadixConverter( CONST UINT32 u32Radix, CONST CHugeInt& right );
	explicit CRadixConverter( CONST UINT32 u32Radix, CONST CHugeIntX& right );
	// For bases up to 36, case is ignored; upper-case and lower-case letters have the same value.
	// For bases 37 to 62, upper-case letter represent the usual 10..35 while lower-case letter
	//     represent 36..61.
	explicit CRadixConverter( CONST UINT32 u32Radix, CONST LPCTSTR lpszNum );
	explicit CRadixConverter( CONST CRadixConverter& right );
	/*virtual */~CRadixConverter();

	static CONST UINT32 GetCount( VOID );

	// reload operator ->
	CRadixConverter * CONST operator ->( VOID );

	CRadixConverter& Convert2Radix( CONST UINT32 u32NewRadix );

	CRadixConverter& operator =( CONST CRadixConverter& right );
	CRadixConverter& operator =( CONST CHugeInt& right );
	CRadixConverter& operator =( CONST CHugeIntX& right );

	CRadixConverter& operator =( CONST SINT32& s32Num );
	CRadixConverter& operator =( CONST SINT64& s64Num );
	CRadixConverter& operator =( CONST UINT32& u32Num );
	CRadixConverter& operator =( CONST UINT64& u64Num );

	// Return non-zero if the value of (*this) fits in SINT32, UINT32, SINT64 or UINT64, respectively. Otherwise, return zero.
	operator CONST SINT32( VOID ) CONST;
	operator CONST SINT64( VOID ) CONST;
	operator CONST UINT32( VOID ) CONST;
	operator CONST UINT64( VOID ) CONST;

	VOID ResetRadix( CONST UINT32 u32Radix );
	VOID ResetSign( CONST SIGN enumSign );
	VOID ResetVector( CONST UINT32_CVECTOR& vU32Num );
	VOID ClearVector( VOID );

	CONST UINT32 GetRadix( VOID ) CONST;
	CONST SIGN GetSign( VOID ) CONST;
	CONST UINT32_CVECTOR& GetVector( UINT32_CVECTOR& vU32Num ) CONST;
	CONST UINT64 SumOfDigits( VOID ) CONST;

private:
	UINT32 m_u32Radix;
	SIGN m_enumSign;
	UINT32_CVECTOR * CONST m_pVector;
};

#endif // !defined(AFX_RADIXCONVERTER_H__E2901CAA_F542_457C_99A4_88D4581CBA69__INCLUDED_)

⌨️ 快捷键说明

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