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

Contenu supprimé Contenu ajouté
Watermy (discussion | contributions)
style intro
Watermy (discussion | contributions)
style + ajout d'info
Ligne 21 :
Vous êtes désormais parés pour tester tous les exemple données.
 
== Les types primitifsPréambule ==
 
OCaml est [[w:Typage_statique|statiquement typé]]. Pourtant le type n'est jamais explicitement donné. C'est l'un des points forts de OCaml.
Ligne 27 :
Voyons quelques exemples de type que OCaml est capable de reconnaître.
 
=== Les entiers (''Integer'') ===
Les [[w:Entier_naturel|entiers]] sont uniquement composé de chiffres et éventuellement d'un moins (<big>'''-'''</big>) devant s'il est [[w:Signe_%28arithm%C3%A9tique%29|signe]] (négatif) :.
 
=== Les décimaux ===
Les décimaux sont des nombre écrit en base 10. C'est-à-dire qu'ils sont uniquement composés des chiffres de 0 à 9.
 
<source lang="ocaml">
Ligne 48 ⟶ 51 :
</source>
 
=== Les hexadécimaux ===
Vous pouvez utiliser l'[[w:Syst%C3%A8me_hexad%C3%A9cimal|héxadécimal]] grâce au préfixe '''0x''' ('''0X'''). OCaml convertit automatiquement la valeur en décimal.
Les [[w:Syst%C3%A8me_hexad%C3%A9cimal|héxadécimal]] sont des nombres écrit en base 16. C'est-à-dire qu'ils sont composés des chiffres de 0 à 9 et des lettres de A à F.
Vous pouvez utiliserles l'[[w:Syst%C3%A8me_hexad%C3%A9cimal|héxadécimal]]utiliser grâce au préfixe '''0x''' ('''0X'''). OCaml convertit automatiquement la valeur en décimal.
<source lang="ocaml">
# 0xABC;;
Ligne 55 ⟶ 60 :
</source>
 
=== Les octaux ===
ou en [[w:Syst%C3%A8me_octal|octal]] grâce au préfixe '''0o''' ('''0O'''):
Les [[w:Syst%C3%A8me_octal|octaux]] sont des nombres écrit en base 8. C'est-à-dire qu'ils sont uniquement composés des chiffres de 0 à 7.
ouVous enpouvez [[w:Syst%C3%A8me_octal|octal]]les utiliser grâce au préfixe '''0o''' ('''0O'''):.
<source lang="ocaml">
# 0o123;;
Ligne 62 ⟶ 69 :
</source>
 
=== Les binaires ===
ou encore en [[w:Syst%C3%A8me_binaire|binaire]] grâce au préfixe '''0b''' ('''0B'''):
Les [[w:Syst%C3%A8me_binaire|binaires]] sont des nombres écrit en base 2. C'est-à-dire qu'ils sont uniquement composés des chiffres 0 et 1.
ouVous encorepouvez enles [[w:Syst%C3%A8me_binaire|binaire]]utiliser grâce au préfixe '''0b''' ('''0B'''):
<source lang="ocaml">
0b101010;
Ligne 69 ⟶ 78 :
</source>
 
=== Représentation ===
En OCaml la représentation des entiers dépends de l'architecture de l'ordinateur :
* 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].
Ligne 83 ⟶ 93 :
</source>
 
=== Les réels/virgules flottantes (''float'') ===
Les [[w:Nombre réel|réels]] sont des entiers composé d'un point ('''<big>.</big>''').
{{Attention|Avec_fond = oui| En France on utilise normalement la '''virgule''' comme séparateur mais OCaml utilise le système anglais qui utilise le '''point'''.}}
Ligne 94 ⟶ 104 :
- : float = 1.
</source>
 
=== 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 [-1.79769313486231571e+308,1.79769313486231571e+308] avec une précision de 2.22044604925031308e-16.
 
=== Les caractères (''character'') ===
 
Les [[w:Caract%C3%A8re_%28informatique%29|caractères]] sont encadrés par des apostrophes <big>(''' ' ''')</big> (''simple quote'')
Ligne 147 ⟶ 160 :
</source>
 
=== Les chaînes de caractères (string) ===
 
Les [[w:Cha%C3%AEne_de_caract%C3%A8res| chaîne de caractère]] sont encadrés par des guillemets (<big>''' " '''</big>) (''double quote'')
Ligne 156 ⟶ 169 :
</source>
 
=== Les booléens (''boolean'') ===
 
Et enfin les [[w:Bool%C3%A9en|booléens]] : deux valeurs possibles, soit vrai (''true'') soit faux (''false'') :
Ligne 167 ⟶ 180 :
</source>
 
=== Le type unité (''unit'') ===
Le type unité n'a qu'une seule valeur : '''()''' :
<source lang="ocaml">
Ligne 195 ⟶ 208 :
|}
 
== RéférenceRé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}} <br />
{{lienWeb|format=html|licence=copyright|langue=en|url=http://caml.inria.fr/pub/docs/manual-ocaml/libref/Pervasives.html}}
 
 
[[Catégorie:Premiers pas en OCaml]]