2012-05-14 18 views
10

C++' da iyi ve temel bir BigInt sınıfı arıyorum, çok fazla uygulama buluyorum ama çoğu zaman, kripto kitaplığı için karmaşık bir uygulama ...C++ 'da BigInt sınıfının iyi ve basit bir uygulaması

Temel olarak, BigInt, uzun, uzun ve dizileri operatör aşırı yüklenmeyle ele alabilir. Zamanım olsaydı, kendim yaptım ama bütün bir BigInt sınıfı oluşturmak için zamanım yok.

+3

GMP'nin sınıf paketleyicileri olduğunu düşünüyorum? –

+0

@SethCarnegie: Evet, ancak GMP C'de (modern C++ 'da operatör aşırı yüklemesini kullanan bir şey isterdim) – Bebeoix

+0

Bir C sınıfında C++ olması gerekenden dolayı bir _class wrapper_ olmalıdır. –

cevap

5

Here's one. Kullanmamıştım, ama çok karmaşık görünmüyordu ve ilk defa "bigint C++" dediğimde ortaya çıktı. kullanıcı sağlayan

+0

BigUnsigned ve BigUnsignedInABase gibi BigInteger dışındaki birçok türde kitaplık, yalnızca bir BigInt sınıfından çok kolay değil. – Bebeoix

+0

BigUnsignedInABase istemiyorsanız, kullanmakta özgürsünüz. Şahsen, daha basit bir şey bulacağınızı düşünmüyorum. Al ya da git. –

+0

Daha basit/kolay bir şey merak ediyordum. – Bebeoix

17

Bildiğim en basit kitaplık InfInt. Sadece bir başlık dosyasından oluşur. Kullanımı oldukça basit. İşte örnek bir kod:

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

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

İşte [InfInt github] (https://github.com/sercantutar/infint) için güncel bir link. Burada [InfInt.h] için kalıcı bir indirme linki var (https://web.archive.org/web/20170509111229/https://raw.githubusercontent.com/sercantutar/infint/master/InfInt.h) – Hydranix

İlgili konular