BigInteger n'est utilisé que si l'on sait qu'il ne s'agira pas d'une décimale et qu'il est possible que le type de données long ne soit pas assez grand. il est possible que le type de données longues ne soit pas assez grand. BigInteger n'a pas de limite de taille maximale (aussi grande que la RAM de l'ordinateur peut l'ordinateur peut contenir).
De aquí .
Il est mis en œuvre à l'aide d'un int[]
:
110 /**
111 * The magnitude of this BigInteger, in <i>big-endian</i> order: the
112 * zeroth element of this array is the most-significant int of the
113 * magnitude. The magnitude must be "minimal" in that the most-significant
114 * int ({@code mag[0]}) must be non-zero. This is necessary to
115 * ensure that there is exactly one representation for each BigInteger
116 * value. Note that this implies that the BigInteger zero has a
117 * zero-length mag array.
118 */
119 final int[] mag;
De la source
Extrait de l'article de Wikipedia Arithmétique à précision arbitraire :
Plusieurs langages de programmation modernes ont un support intégré pour bignums, et d'autres disposent de bibliothèques pour les calculs de précision arbitraire. et les mathématiques à virgule flottante. Plutôt que de stocker des valeurs sous la forme d'un nombre fixe de bits binaires lié à la taille du registre du processeur, ces implémentations utilisent généralement des tableaux de chiffres de longueur variable.