Bonjour,
Dans le cadre d'une appli pour un µC je voulais savoir si cela est acceptable en C:
Le resultat de la division etant dans mon cas toujours inferieure à 100 je souhaite affecter à moyenne une variable de type char, puisqu'ensuite je stocke cette moyenne en E²prom.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 char moyenne; int result, a, b, c; long d; result = (a / (float) b) * 100; moyenne = (char)( (d + result) / (float)c);
Mon raisonnement est le suivant avec un exemple concret:
a=20 -> a=20.0
b=50 -> b=50.0
result = (20.0/50.0) * 100.0 = 40.0
Comme result est déclaré en int => result = 40
Puis:
d = 78000
result = 40
c = 5000
donc moyenne = (78000.0+40.0) / 5000.0 = 15.608
Si je fais un cast de type char sur le calcul je devrais avoir au final moyenne = 15 ?
Est-ce correct ce type de casting ou pas ?
Merci d'avance pour vos conseils.
Partager