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;

Paramètres

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

Exemple

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)

ARDUINO BUY RECOMMENDATION

Arduino UNO R3
Arduino Starter Kit
Disclosure: Some links in this section are Amazon affiliate links. If you make a purchase through these links, we may earn a commission at no extra cost to you.
Additionally, some links direct to products from our own brand, DIYables.

※ OUR MESSAGES