Bienvenue aux nouveaux arrivants sur FantasPic !

- Pensez à lire les règles durant votre visite, il n'y en a pas beaucoup, mais encore faut-il les respecter .
- N’hésitez pas à faire des remarques et/ou suggestions sur le Forum, dans le but de l'améliorer et de rendre vos prochaines visites plus agréables.
- Vous pouvez regarder votre "panneau de l'utilisateur" afin de configurer vos préférences.
- Un passage par "l'utilisation du forum" est recommandé pour connaître les fonctionnalités du forum.

--- L’équipe FantasPic ---
Forum général sur le langage C !

Modérateur : Jérémy

Comment arrondir un Float , 2 chiffres aprés la virgule ?
Guest
Confirmé
Confirmé
Messages : 800
Enregistré en : mars 2017

#31 Message par Guest » ven. 15 janv. 2016 11:21

Ils sont bien braves c'est compilateur C ils font même le boulot pour toi ;) bientôt du texto et hop .....

Bonne journée

A+

Comment arrondir un Float , 2 chiffres aprés la virgule ?
sylvain54
Avatar de l’utilisateur
Amateur
Amateur
Messages : 194
Âge : 51
Enregistré en : août 2015
Localisation : Dans l'est de la France

#32 Message par sylvain54 » ven. 15 janv. 2016 11:59

Ils sont bien braves c'est compilateur C ils font même le boulot pour toi ;) bientôt du texto et hop .....


Effectivement, c'est pas ce que l'on appelle une "surcharge" dans le jargon ?

Mais je suis d'accord avec toi, si on veut optimiser fortement le code pour sa rapidité de traitement et/ou taille, on n'a pas le choix, l'ASM est le meilleur moyen pour y arriver.

++ Sylvain

Comment arrondir un Float , 2 chiffres aprés la virgule ?
Guest
Confirmé
Confirmé
Messages : 800
Enregistré en : mars 2017

#33 Message par Guest » sam. 16 janv. 2016 09:29

bonjour

Pour la lisibilité du code je préféré cela mais ce n'est que mon avis :D

Code : Tout sélectionner

unsigned int e=0;
unsigned int d=0;
float f= 12.5;

e=(int)H;                         // partie entière
d=(int)((H-(float)F)*100.0);      // partie décimale(2 chiffres)

pointeurTab[0]=(char)((e/100)+0x30);                  // partie entiere de 999 a 0
e=e%100;
pointeurTab[1]=(char)((e/10)+0x30);
pointeurTab[2]=(char)((e%10)+0x30);
pointeurTab[3]=0x2C;                              // j'aime bien la virgule :-)
pointeurTab[4]=(char)((d/10)+0x30);                     // partie decimale de 99 a 0
pointeurTab[5]=(char)((d%10)+0x30);



Pourquoi, si je dois jouer avec debug je sais ou se trouve la partie entier et la partie décimal et c'est moi qui décide pas le compil.Pour relire ce code j'ai pas de problème, traitement de entier du decimale
Ton code si l'on passe a coté du 0.488XXX qui est le seul indicateur du flottant pas sur de retrouver ses petits, mais bon qui de nos jours relis le code d'autrui......(en ASM c'est pareil si c'est pas documenté il faut s’accrocher)

Pour ce qui est du C, et la liberté que l'on c'est donné(quelques voix sont dissonantes , je vois au niveau UBUNTU qui est du C, la V14.04 est en moins de 2 ans a sa 19eme remise à plat de son noyau. Il sont très fort, ou c'est grave docteur :lol:

Allez bonne journée a vous

A+


Retourner vers « Langage C »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 53 invités