Nie można w tym celu użyć wbudowanego typu liczby całkowitej. Potrzebna jest "wielokrotna dokładna liczba całkowita", czyli biblioteka "bignum". W przypadku C++, najpierw spróbowałbym uzyskać Boost.Multiprecision, ale należy pamiętać, że Boost może być znacznie trudniejszy, niż jest to warte, szczególnie jeśli moduł, którego używasz, ma jakikolwiek komponent biblioteki współdzielonej (aka DLL). Innym oczywistym wyborem jest GNU MP. Ma tylko interfejs C, ale jest dobrze utrzymany, niezawodny, szybki i bardzo popularny (w rzeczywistości wygląda na to, że Boost.MP jest "tylko" opakowaniem C++).
OSTRZEŻENIE: Możesz potrzebować biblioteki bignum, ponieważ próbujesz zaimplementować jedną z kryptograficznych prymitywów używających wielkich liczb, takich jak RSA. Nie rób tego. Ogólne biblioteki binarne nie są bezpieczne do użytku kryptograficznego, a nawet gdyby były, nadal istniałyby dziesiątki subtelnych błędów, które można by zepsuć dla bezpieczeństwa. Zamiast tego użyj dobrze przetestowanej biblioteki kryptograficznej; dla C++ polecam Botan.
Musisz użyć wektorów łańcuchowych lub znakowych do reprezentowania dużych liczb całkowitych w ten sposób. – taocp
Zamiast tworzyć własne, możesz rozważyć użycie GMP (http://gmplib.org/) – FatalError
Biblioteka BN z OpenSSL jest przyzwoita dla podstawowych rzeczy big-int, chociaż może nie mieć * co * funkcji numerycznej szuka. Jednak w końcu krył się wokół krypto. – WhozCraig