2015-04-23 133 views
3

有什麼方法可以在C++中存儲1000位數字?我試圖將它存儲到一個無符號的long double,但它的類型仍然很大。如何在C++中存儲非常大的數字

+1

很多方法。在這裏或在網上搜索「big int library」。 –

+1

我懷疑你可以把任何內容的「無符號長雙」... – dtech

+0

另一種想法發生 - 什麼是您的1000位數字數據源?這是偶然的文字? – dtech

回答

0

取決於你需要做的就可以了計算,可能與大詮釋圖書館去usage.If。如果不是,只有目標正在存儲,將其存儲在數組中,每個數字存儲在一個數組元素中。

1

你必須自己實現它,或者使用一個庫它。我特別喜歡GMP:https://gmplib.org/,這是一個C語言實現大智力/浮動的,有C++包裝

1

使用你的電話號碼的自定義類,像這樣:

#include <vector> 
#include <iostream> 

    class large_num { 
    private: 
     int digits; // The number of digits in the large number 
     std::vector<int> num; // The array with digits of the number. 
    public: 
     // Implement the constructor, destructor, helper functions etc. 
    } 

對於一個非常大的數字只需將每個數字添加到矢量。例如,如果數字爲123456,那麼你做num.pushback();在這種情況下,推動所有的數字1,2,.. 6.你可以用這種方式存儲一個非常大的數字。

+0

這不是對於學習C++的人來說,這是一個糟糕的做法,只是一個項目的一部分,而是一些挑剔的問題:'num'已經有'.size()'設備,所以'digits'是多餘的,另一件事情可能會不同步,而'std :: vector '或類似的(甚至是'std :: string')會使用更少的內存。 –

相關問題