« Java/Annexe/Nombres » : différence entre les versions

Contenu supprimé Contenu ajouté
Aucun résumé des modifications
(:Julien:) (discussion | contributions)
Aucun résumé des modifications
Ligne 12 :
*types primitifs ou types objets ;
*nombres entiers ou nombres à virgules flottantes.
 
 
== Les types primitifs ==
 
Pour les entiers : byte, short, int, long qui occupent respectivement 8, 16, 32 et 64 bits.
 
Contrairement aux langages de programmation de C ou C++, vous ne pouvez pas choisir entre une version « signée » ou pas. Tous les types permettent d'exprimer des nombres positifs et négatifs. Comme javaJava utilisentutilise le prinicipe du complément à 2, le zéro est considéré comme positifspositif.
 
Ainsi, le type byte permet d'exprimer 2^8=256 nombres (car un byte est codé sur 8 bits). CommeLe 2^8 = 256. Nous avons 256/2 = 128 etnombre 0 etest considéré comme positif., Undonc nombreun byte et doncest compris entre -128 (=2^7) et 127 (=2^7 -1 ).
 
Les nombres short sont compris entre -2^15 et 2^15 -1.
 
Le même raisonnement est valide pour int et long.
 
 
 
Deux types de nombres à virgules flottantes sont disponibles float (32 bits) et double (64 bits). Ils utilisent le standard IEEE 754.
Ligne 33 ⟶ 30 :
 
Attention, lorsque vous réalisez une division entre deux nombres entiers, vous obtenez toujours un nombre entier (éventuellement dont la partie décimale a été tronquée).
 
 
== Division par 0 ==
Ligne 43 ⟶ 39 :
== Les types objets ==
 
Les types objets ont le désavantage de demander plus de ressources, un plus grand effort de programmation, mais offrent l'avantage d'utiliser des nombres d'une grandeur ou précision supérieures. SeulSeules les ressources de la machine (la mémoire physique) limitelimitent la grandeur et la précsion.
 
Vous ne pouvez pas utilisez les opérateurs classiques (+,-,*,/) pour BigInteger et BigDecimal. Vous devez recourir à leur version objet.