Java LanguageBigInteger


Introduction

La classe BigInteger est utilisée pour les opérations mathématiques impliquant de grands nombres entiers avec des grandeurs trop grandes pour les types de données primitifs. Par exemple, le facteur 100 correspond à 158 chiffres, ce qui est beaucoup plus grand qu'un long peut représenter. BigInteger fournit des analogues à tous les opérateurs entiers primitifs de Java et à toutes les méthodes pertinentes de java.lang.Math ainsi que de quelques autres opérations.

Syntaxe

  • BigInteger nom_variable = nouveau BigInteger ("12345678901234567890"); // un entier décimal sous forme de chaîne
  • BigInteger nom_variable = new BigInteger ("1010101101010100101010011000110011101011000111110000101011010010", 2) // un entier binaire sous forme de chaîne
  • BigInteger nom_variable = new BigInteger ("ab54a98ceb1f0800", 16) // un entier hexadécimal sous forme de chaîne
  • BigInteger variable_name = new BigInteger (64, nouveau Random ()); // un générateur de nombres pseudo-aléatoires fournissant 64 bits pour construire un entier
  • BigInteger nom_variable = nouveau BigInteger (nouvel octet [] {0, -85, 84, -87, -116, -21, 31, 10, -46}); // représentation du complément à deux signé d'un entier (big endian)
  • BigInteger nom_variable = nouveau BigInteger (1, nouvel octet [] {- ​​85, 84, -87, -116, -21, 31, 10, -46}); // la représentation du complément à deux unsigned d'un entier positif (big endian)

Remarques

BigInteger est immuable. Par conséquent, vous ne pouvez pas changer son état. Par exemple, les éléments suivants ne fonctionneront pas, car la sum ne sera pas mise à jour en raison de l'immuabilité.

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

Attribuez le résultat à la variable sum pour la faire fonctionner.

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

Java SE 8

La documentation officielle de BigInteger indique que les implémentations BigInteger doivent prendre en charge tous les entiers compris entre -2 2147483647 et 2 2147483647 (exclusifs). Cela signifie que BigInteger peut avoir plus de 2 milliards de bits!

BigInteger Exemples Liés