Main

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

float var = valeur;
  • var : le nom de la variable
  • valeur : la valeur donnée à la variable

Exemples

float myfloat; // déclare une variable à virgule appelée myfloat
float sensorCalibrate = 1.117; // déclare une variable à virgule appelée sensorCalibrate

Code d'exemple

int x; // déclare une variable entière de type int appelée x
   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


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.