Looking for java Keywords? Try Ask4Keywords

Java LanguageBigInteger


Einführung

Die BigInteger Klasse wird für mathematische Operationen verwendet, bei denen große Ganzzahlen mit zu großen Beträgen für primitive Datentypen verwendet werden. Zum Beispiel sind 100-Fakultäten 158-stellig - viel größer als ein long kann. BigInteger bietet Analoga für alle primitiven Integer-Operatoren von Java und alle relevanten Methoden von java.lang.Math sowie einige andere Operationen.

Syntax

  • BigInteger Variablenname = neuer BigInteger ("12345678901234567890"); // eine dezimale Ganzzahl als Zeichenfolge
  • BigInteger Variablenname = new BigInteger ("10101011010101001010100110001100111010110001111100001010101010010"), 2) // eine binäre Ganzzahl als Zeichenfolge
  • BigInteger Variablenname = new BigInteger ("ab54a98ceb1f0800", 16) // eine hexadezimale Ganzzahl als Zeichenfolge
  • BigInteger Variablenname = new BigInteger (64, new Random ()); // ein Pseudozufallszahlengenerator, der 64 Bits liefert, um eine Ganzzahl zu konstruieren
  • BigInteger Variablenname = new BigInteger (neues Byte [] {0, -85, 84, -87, -116, -21, 31, 10, -46}); // signierte Zweierkomplementdarstellung einer Ganzzahl (Big Endian)
  • BigInteger Variablenname = new BigInteger (1, neues Byte [] {- ​​85, 84, -87, -116, -21, 31, 10, -46}); // vorzeichenlose Zweierkomplementdarstellung einer positiven Ganzzahl (Big Endian)

Bemerkungen

BigInteger ist unveränderlich. Daher kann man seinen Zustand nicht ändern. Das Folgende funktioniert beispielsweise nicht, da die sum aufgrund von Unveränderlichkeit nicht aktualisiert wird.

BigInteger sum = BigInteger.ZERO;
for(int i = 1; i < 5000; i++) {
   sum.add(BigInteger.valueOf(i));  
}

Weisen Sie das Ergebnis der sum zu, damit es funktioniert.

sum = sum.add(BigInteger.valueOf(i));

Java SE 8

In der offiziellen Dokumentation zu BigInteger heißt es, dass BigInteger Implementierungen alle Ganzzahlen zwischen -2 2147483647 und 2 2147483647 (exklusiv) unterstützen sollen. Dies bedeutet, dass BigInteger mehr als 2 Milliarden Bits haben kann!

BigInteger Verwandte Beispiele