« Premiers pas en OCaml/Types primitifs » : différence entre les versions

Contenu supprimé Contenu ajouté
Watermy (discussion | contributions)
→‎Tableau récapitulatif : + représentation
Watermy (discussion | contributions)
+ apport d'informations + correction
Ligne 82 :
* Sur une architecture 32 bits les entiers sont représentés sur 31 [[w:Bit|bits]]. Ils sont donc compris dans l'intervalle suivant [-2<sup>30</sup>; 2<sup>30</sup>-1] soit [-1073741824 ; 1073741823].
* Sur une architecture 64 bits les entiers sont représentés sur 63 bits. Soit [-2<sup>62</sup>; 2<sup>62</sup>-1] ou encore [-4611686018427387904; 4611686018427387903].
Vous pouvez vérifier grâce aux fonctions '''min_int''' et '''max_int'''.
<source lang="ocaml">
# min_int;;
- : int = -1073741824
 
# max_int;;
- : int = 1073741823
</source>
 
{{Attention|Avec_fond = oui| Les entiers hors des ces bornes provoquent une erreur. }} <br />
Le bit restant permet de faire rapidement la différence entre un entier et un pointeur. <br/>
Ligne 107 ⟶ 116 :
=== Représentation ===
Les réels en OCaml utilisent une double précisions. Ils sont codés sur 64 bits (8 octets) selon le standard [[w:IEEE_754|IEEE754]].
La plage de représentation des nombres réels sous OCaml est de [<math>]-1.79769313486231571e+79769313486231571.10^{308},1.79769313486231571e+79769313486231571.10^{308]}[ avec une précision de 2.22044604925031308e-16</math>.
Vous pouvez le vérifier grâce à la fonction '''max_float'''.
<source lang="ocaml">
# max_float;;
 
- : float = 1.7976931348623157e+308
</source>
 
Avec une précision de <math>2.2250738585072014.10^{-308}</math> dans l'intervalle <math>]0, 1[</math> et une précision de <math>2.22044604925031308.10^{-16}</math> dans l'intervalle <math> ]1, 1.79769313486231571.10^{308}[ </math>.
Vous pouvez le vérifier grâce aux fonctions '''min_float''' et '''epsilon_float'''.
 
<source lang="ocaml">
# min_float;;
- : float = 2.2250738585072014e-308
 
# epsilon_float;;
- : float = 2.2204460492503131e-016
</source>
== Les caractères (''character'') ==
 
Ligne 218 ⟶ 243 :
== Références ==
Toutes ces informations sont disponibles sur la documentation officielle : <br />
* {{lienWeb|format=html|licence=copyright|langue=en|url=http://caml.inria.fr/pub/docs/manual-ocaml/lex.html}}|commentaire=Règles <brde />nommages}}
* {{lienWeb|format=html|licence=copyright|langue=en|url=http://caml.inria.fr/pub/docs/manual-ocaml/libref/Pervasives.html|commentaire=Fonctions sur les types primitifs}}
* {{lienWeb|format=html|licence=copyright|langue=en|url=http://caml.inria.fr/pub/ml-archives/caml-list/2002/08/e109df224ff0150b302033e2002dbf87.en.html | commentaire=Représentation interne des chaînes de caractères}}
 
 
[[Catégorie:Premiers pas en OCaml]]