// VLNumber.h: interface for the VLNumber class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_VLNUMBER_H__1C8A92D2_7B8F_428B_A735_9CD8E08033B7__INCLUDED_)
#define AFX_VLNUMBER_H__1C8A92D2_7B8F_428B_A735_9CD8E08033B7__INCLUDED_

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

class VLNumber : public CObject  
{
	char _sign;
	char *_s;
	void asNinesComplement();
	void asTensComplement();
	int compareTo(VLNumber &x);
	char getDigitAt(int i);
	void multiply10(BOOL &overflow);
	void divide10();
public:
	VLNumber();
	VLNumber(CString &x);
	VLNumber(VLNumber &x);
	virtual ~VLNumber();
	void init();
	void toString(CString &target);
	void operator=(CString &s);
	void operator=(VLNumber &x);
	VLNumber& plus(VLNumber x,BOOL &overflow);
	VLNumber& minus(VLNumber x,BOOL &overflow);
	VLNumber& multiply(VLNumber x,BOOL &overflow);
	VLNumber& divide(VLNumber x,BOOL &overflow);
};

#endif // !defined(AFX_VLNUMBER_H__1C8A92D2_7B8F_428B_A735_9CD8E08033B7__INCLUDED_)
