Ist es möglich, eine 128-Bit-Ganzzahl in Java oder C ++ zu haben?
Natürlich können Sie sie darstellen.
Bei am wenigsten können Sie ein Byte-Array mit 16 Elementen verwenden.
Die Frage ist jedoch, ob Sie nur den Wert darstellen oder tatsächlich einige Berechnungen damit durchführen möchten.
In Java können Sie BigInteger
verwenden, um ( Effektiv) ganzzahlige Werte und machen auch Berechnungen.
In Java können Sie die Klasse BigInteger verwenden um beliebig große ganze Zahlen zu speichern. In C ++ können Sie eine Bibliothek wie GMP verwenden, um die gleiche Funktionalität zu erhalten.
Sie können. Sie werden wahrscheinlich eine Bibliothek dafür verwenden müssen, zumindest für C ++.
Ich mag die PolarSSL Bibliothek oder die GNU MP Bignum Bibliothek.
java.math.BigInteger
Verwenden Sie java.math.BigInteger, um mit Ganzzahlen zu arbeiten, die größer als 64 Bit (die Größe eines langen) sind. Diese Klasse repräsentiert unbegrenzte Ganzzahlen und bietet eine Reihe von Methoden, um mit ihnen arithmetisch zu arbeiten.
Wenn Sie Dezimalwerte benötigen, verwenden Sie BigDecimal
Natürlich können Sie die Klasse BigInteger im Paket java.math verwenden. Diese Klasse bietet Operationen für modulare Arithmetik, GCD-Berechnung, Primalitätstest, Primegenerierung, Bitmanipulation wie Operationen.
Diese Klasse wurde in JDK1.1 selbst hinzugefügt.
Aber ich weiß nicht, dass eine solche Verfügbarkeit in C ++ - Bibliothek eingebaut ist. Es kann eine erweiterbare API von Drittanbietern geben.