제 문제는 엄청난 숫자를 합산하는 법을 모르는 것입니다 (예 : "172839023434234792834798237494"또는 "-172839023498234792834798237494"). 그래서 나는이 종류의 객체를 저장할 char* m_value
을 만들었습니다. 이제 기본 산술 연산을 만들고 싶습니다. 먼저 변환하거나 itoa
과 같은 것을 사용해야합니까? 내 경우 엔 숫자를 저장하는 다른 옵션이 없다.char * 수를 합계 및 빼는 방법은 무엇입니까?
하여 Main.cpp
int main(int argc, char *argv[])
{
LargeNumber l1;
LargeNumber l3("172839023498234792834798237494");
LargeNumber l7("-172839023498234792834798237494");
l1 = l3 + l7; //How to do it ?
return 0;
}
LargeNumber.h
class LargeNumber{
public:
LargeNumber(char* value):m_value(value)
{}
LargeNumber operator+(const LargeNumber&);
private:
char* m_value;
}
LargeNumber.cpp
LargeNumber LargeNumber ::operator+(const LargeNumber &b)
{
return LargeNumber (...); //Sum both LargeNumber ???
}
l1 = l3 + l7은 l1 = l3 + * l7이어야합니다. – cppguy
숙제 문제가 있습니까? – rburhum
프로세서는 큰 숫자를 처리 할 수 없습니다. 더 작은 조각으로 작업하고 char *로 재구성하는 멋진 알고리즘을 작성해야합니다. –