Go Down

Topic: Petit problème de conversion en int16_t (Read 74 times) previous topic - next topic

pierrot10

Bonjour.

J'ai un petit problème de stockage de donnée.

Je mesure une sonde qui me retourne la valeur: 887.8934 (float)
Je veux conserver les deux chiffre après la virgule 887.8934 * 100 = 88789.34
et pour supprimer le reste je le converti en int16_t

Code: [Select]
sunValueWm2=88789.34;
int16_t sunVal;
sunVal = (int16_t)sunValueWm2
Serial.print(sunVal);


thériquement, sunVal devrait m'affocher: 88789 mais il m'affiche 23253!!!

Est-ce que 88789 est trop grand pour etre contenu dans un int16_t????
Il ne suffit pas de tout savoir, la persévérance, c'est déjà presque tout!
You can not know everything, perseverance, it is almost everything!

kamill

Oui, c'est trop grand.
Un int16_t va de _32768 à 32767

Go Up