我的问题是,我不知道如何总结巨大的数字(如“172839023498234792834798237494”或“-172839023498234792834798237494”)。所以我做了char* m_value
,我将存放这种物体。现在我想要做的是做一些基本的算术运算。我应该首先转换它还是使用一些像itoa
?在我的情况下,没有其他选项,然后char *来存储数字。如何加减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 *。 –