2012-05-14 70 views
10

我正在尋找一個好的和基本的BigInt類在C++中,我發現很多實現,但大部分時間,它是複雜的實現crypto庫...C++中的BigInt類的一個很好的和基本的實現

基本上,我的意思是BigInt可以處理BigInt,long long和帶有運算符重載的字符串。 如果我有時間,我已經完成了自己,但我沒有時間去創建一個BigInt整個班級。

+3

我認爲GMP有類包裝不是嗎? –

+0

@SethCarnegie:是的,但是GMP是C語言的(我希望使用運算符重載的現代C++中的某些東西) – Bebeoix

+0

由於C沒有類,所以_class wrapper_必須使用C++。 –

回答

5

Here's one。我沒有使用它,但它看起來不太複雜,而且當我使用「bigint C++」時,這是第一個結果。

+0

這個庫處理BigInteger之外的其他許多類型,比如BigUnsigned和BigUnsignedInABase,不僅僅是一個BigInt類。 – Bebeoix

+0

如果你不想BigUnsignedInABase,你可以自由使用它。就個人而言,我認爲你不會找到更簡單的東西。要麼接受,要麼離開它。 –

+0

我想知道更簡單/更簡單的東西。 – Bebeoix

17

我知道的最簡單的圖書館是InfInt。它只包含一個頭文件。它的使用非常簡單。這裏是一個示例代碼:

InfInt myint1 = "15432154865413186646848435184100510168404641560358"; 
InfInt myint2 = 156341300544608LL; 

myint1 *= --myint2 - 3; 
std::cout << myint1 << std::endl; 
+0

這裏有一個更新的鏈接到[InfInt github](https://github.com/sercantutar/infint)。 下面是[InfInt.h]的永久下載鏈接(https://web.archive.org/web/20170509111229/https://raw.githubusercontent.com/sercantutar/infint/master/InfInt.h) – Hydranix

相關問題