« Programmation Java/Nombre de taille arbitraire » : différence entre les versions

Contenu supprimé Contenu ajouté
Aucun résumé des modifications
Aucun résumé des modifications
Ligne 16 :
 
La classe <code>BigInteger</code> représente un nombre entier de taille arbitraire.
Un tel entier peut être créé à partir d'une chaîne de caractères, comme dans l'exemple suivant :
 
<syntaxhighlight lang="java">
// À partir de la représentation en décimal :
Ligne 23 :
BigInteger cle = new BigInteger("A87B31697C6A9d9363B275E610F245C246A932B14569D273AE54CEC171CAFEFADE", 16);
</syntaxhighlight>
 
Il peut aussi être créé à partir d'un tableau d'octets d'une représentation en complément à deux, dans l'ordre ''big-endian'' : l'octet le plus significatif est le premier.
<syntaxhighlight lang="java">
// À partir d'un tableau d'octets de la représentation
// en complément à deux du nombre -17179869184 :
BigInteger nombre = new BigInteger(new byte[]{ 0xFC, 0x00, 0x00, 0x00, 0x00 });
</syntaxhighlight>
 
Il peut aussi être créé à partir d'un nombre de type <code>long</code> en utilisant la méthode statique <code>valueOf</code>.
Comme les instances sont immuables, la méthode statique permet de retourner la même instance pour les valeurs fréquemment utilisées.
<syntaxhighlight lang="java">
// À partir d'un nombre de type long :
BigInteger total_heures = new BigInteger(24L);
</syntaxhighlight>
 
La classe définit aussi quelques instances comme membres statiques pour les valeurs classiques :
* <code>BigInteger.ZERO</code> pour le nombre zéro,
* <code>BigInteger.ONE</code> pour le nombre un,
* <code>BigInteger.TEN</code> pour le nombre dix.
 
=== Opérations ===
 
== Nombre décimal ==