Référence : Langage Arduino : [ Mini | Standard | Etendue | Maxi ] Librairies : [ Vue d'ensemble | Synthèse ] Infos : [ Comparaison | Changements ]
float
Description
Déclare des variables de type "virgule-flottante", c'est à dire des nombres à virgules. Les nombres à virgule sont souvent utilisés pour l'expression des valeurs analogiques et continues, parce qu'ils ont une meilleure résolution que les nombres entiers. Les nombres à virgule ainsi stockés peuvent prendre des valeurs aussi élevées que 3.4028235E+38 et aussi basse que -3.4028235E+38. Ils sont stockés sur 4 octets (32 bits) de mémoire.
Les variables float ont seulement 6 à 7 chiffres de précision. Ceci concerne le nombre total de chiffres, pas seulement le nombre à droite de la virgule. A la différence d'autres plateformes, où vous pouvez obtenir davantage de précision en utilisant une variable de type double ( c'est à dire avec plus de 15 chiffres), sur Arduino, les variables double sont de la même taille que les float.
Les nombres à virgule ne sont pas exacts, et peuvent donner des résultats étranges quand ils sont comparés. Par exemple, 6.0/3.0 peut ne pas être égal à 2.0. Vous devriez au lieu de cela constater que la valeur absolue de la différence entre les nombres est inférieure à un certain petit nombre.
Les opérations mathématiques sur les nombres à virgules est par ailleurs plus lente que les calculs mathématiques sur les nombres entiers, et devront ainsi être évités si, par exemple, une boucle doit s'exécuter à la vitesse maximale pour une fonction de temporisation critique. Les programmateurs prennent souvent le temps de convertir les calculs en virgule flottante en calculs sur nombres entiers pour améliorer la vitesse d'exécution.
La précision d'un float est tout de même limitée à l'utilisation de 6 à 7 chiffres en tout avant et après la virgule : au-delà, la précision sera perdue.
Syntaxe
- var : le nom de la variable
- valeur : la valeur donnée à la variable
Exemples
float sensorCalibrate = 1.117; // déclare une variable à virgule appelée sensorCalibrate
Code d'exemple
int y; // déclare une variable entière de type int appelée y
float z; // déclare une variable nombre à virgule de type float appelée z
x = 1; // x vaut 1
y = x / 2; // y vaut 0 car les entiers ne supporte pas les décimales
z = (float)x / 2.0; // z vaut 0.5 (remarquer la conversion de x en float pour avoir 2.0 et non 2)
Commentaires utilisateurs
Aucun commentaire
Voir également
- int
- double (nombres à virgules)
- Déclaration de Variables
Page d'accueil de la référence Arduino en français
Corrections, suggestions et nouvelle documentation peuvent être postées sur le Forum Arduino ou à l'adresse suivante : support_at_mon-club-elec_point_fr
Le texte original de la référence Arduino est sous licence Creative Commons Attribution-ShareAlike 3.0 . Les exemples de code dans la référence sont dans le domaine public.
La présente traduction française commentée a été réalisée par Xavier HINAULT (2010-2012) (www.mon-club-elec.fr) et est sous licence Creative Commons Attribution-ShareAlike 3.0.