본문 바로가기
반응형

NxBigInt2

NxBigInt 클래스 구현 : DivideAndStoreRemain() 함수 진법을 바꾸기 위해서는 가장 중요한 함수가 진수로 숫자를 나누어서 그 결과를 저장해야 합니다. 이 함수는 기본적으로 int32 형의 나눗셈만 적용을 합니다. 그 이상 되는 것은 보안 등에서는 꼭 필요한 부분이지만, 현재는 미구현 상태입니다. DivideAndStoreRemain() 함수는 해당 수로 나누어서 결과를 해당 수에다 저장합니다. 그렇게 하지 않는다면, 많은 경우에 복사연산이 생깁니다. 그래서 부득이 그렇게 작성을 했습니다. 대부분 경우에 나눈 결과를 해당 오브젝트가 저장하는 것이 대부분이니까요. 해당 오브젝트 내용을 저장하고자 한다면, 이 함수를 호출하기 전에 bigint 수를 복사한 후 실행을 해주셔야 합니다. C/C++ 연산자에는 나눗셈과 나머지 연산을 동시에 할 수 있는 것이 없습니다. .. 2015. 1. 19.
NxBigInt 클래스 구현 프로그램은 크게 외부에서 연산자 오버로딩을 이용하여 편하게 이용할 수 있는 함수들과 내부 함수부(실제 연산이 이루어지는 부분들)로 나뉘어져있습니다. 연산자 오버로딩을 처리하는 쪽 함수들은 모두 내부함수를 호출하기 때문에 별로 크게 설명할 내용이 없습니다. #include "NxBigInt.h" #include #include #define ALLOCSIZE 4 const NxBigInt NxBigInt::Zero = 0; const NxBigInt NxBigInt::One = 1; const NxBigInt NxBigInt::Undefined; NxBigInt::NxBigInt(int value) { if( value < 0 ) { m_bNegative = true; value = -value; } el.. 2015. 1. 19.
728x90