제가 만들고자 한 BigInteger 클래스는 최대한 int형처럼 행동하자는 것이 목표였습니다.
따라서, 기본형으로부터 생성 가능, 기본형으로 변환 가능 기능을 지원합니다.
또한, 큰 수를 입력 받아야 하므로, 문자열로부터도 입력을 받을 수 있게 하였고,
2~36진법으로 입력, 출력이 가능합니다.
하지만, BigInteger형은 매우 정밀한 값을 가져야 하므로
오차가 생기는 float, double형으로부터의 생성, 변환은 지원하지 않습니다.
아래 사진은 생성자 부분 일체 입니다.
▶ 기본 생성자를 통해, BigInteger형은 0으로 초기화 됩니다.
▶ 복사 생성자를 지원합니다.
▶ 대입 연산자는 생성자가 지원하는 모든 타입으로부터 대입 받을 수 있습니다.
▶ bool형, unsigned, signed의 char, short, long, int, __int64로부터 생성, 변환이 가능합니다.
▶ float, double형으로부터는 생성, 변환이 불가합니다.
▶ 큰 수를 입력 받을 수 있도록, 문자열로부터도 생성, 대입이 가능합니다.
▶ 또한, 문자열로 입력시, 2~36진법으로 생성할 수 있습니다.
▶ btos함수를 사용하여, BigIntger형을 string형으로 변환가능합니다. (2~36진법 지원)
▶ 표준 입출력 장치인 cout와 cin을 사용가능 하게 하였습니다.
▶ cout로 출력시, 8, 10, 16진법으로 출력할 수 있습니다.
▶ 또한, showpos로 부호(+, -)를, showbase로 8진법의 '0', 16진법의 '0x'를 표현할 수 있습니다.
▶ cin으로 입력시에는 10진법으로만 입력이 가능합니다.
따라서, 기본형으로부터 생성 가능, 기본형으로 변환 가능 기능을 지원합니다.
또한, 큰 수를 입력 받아야 하므로, 문자열로부터도 입력을 받을 수 있게 하였고,
2~36진법으로 입력, 출력이 가능합니다.
하지만, BigInteger형은 매우 정밀한 값을 가져야 하므로
오차가 생기는 float, double형으로부터의 생성, 변환은 지원하지 않습니다.
아래 사진은 생성자 부분 일체 입니다.
▶ 기본 생성자를 통해, BigInteger형은 0으로 초기화 됩니다.
▶ 복사 생성자를 지원합니다.
▶ 대입 연산자는 생성자가 지원하는 모든 타입으로부터 대입 받을 수 있습니다.
▶ bool형, unsigned, signed의 char, short, long, int, __int64로부터 생성, 변환이 가능합니다.
▶ float, double형으로부터는 생성, 변환이 불가합니다.
▶ 큰 수를 입력 받을 수 있도록, 문자열로부터도 생성, 대입이 가능합니다.
▶ 또한, 문자열로 입력시, 2~36진법으로 생성할 수 있습니다.
▶ btos함수를 사용하여, BigIntger형을 string형으로 변환가능합니다. (2~36진법 지원)
▶ 표준 입출력 장치인 cout와 cin을 사용가능 하게 하였습니다.
▶ cout로 출력시, 8, 10, 16진법으로 출력할 수 있습니다.
▶ 또한, showpos로 부호(+, -)를, showbase로 8진법의 '0', 16진법의 '0x'를 표현할 수 있습니다.
▶ cin으로 입력시에는 10진법으로만 입력이 가능합니다.
'프로젝트 > 큰수 클래스(Big Numerics)' 카테고리의 다른 글
[BigInteger - 5] 기본형으로부터의 생성 / 변환 (1) | 2011.06.29 |
---|---|
[BigInteger - 4] 초기화 (0) | 2011.06.28 |
[BigInteger - 2] 클래스 만들기 (1) | 2011.06.27 |
[BigInteger - 1] 큰수를 저장하는 법 (0) | 2011.06.27 |
[BigInteger - 0] C++로 구현한, 큰 정수 클래스 만들기!!! (0) | 2011.06.27 |