我的問題是,我不知道如何總結巨大的數字(如「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 *。 –