arrondi en C

arrondi en C - C - Programmation

Marsh Posté le 09-11-2004 à 18:55:42    

Salut à tous, je vous préviens je débute...
 
En fait je cherche une commande pour arrondir des valeurs (précisément je dois les arrondir à l'entier supérieur). J'ai trouvé quelque chose avec "arr" mais le compilateur ne le reconnait pas... (j'utilise Dev-C++)
 
Merci d'avance !  :hello:

Reply

Marsh Posté le 09-11-2004 à 18:55:42   

Reply

Marsh Posté le 09-11-2004 à 19:03:07    

Normalement un bete casting en integer le fera tout seul
 
int nouvellevariable = (int)TavariableàArondir

Reply

Marsh Posté le 09-11-2004 à 19:07:09    

Mais bien sûr... Et ceil(), c'est pour les chiens.
 
 

Reply

Marsh Posté le 09-11-2004 à 19:19:14    

Diody a écrit :

Normalement un bete casting en integer le fera tout seul

j'adore ce genre de réflection : pourquoi diable utiliser le mot 'integer' qui n'apparait jamais en C ? On parle de 'integral type', d'entier, d'int.
C'est comme 'casting' : c'est quoi ce 'ing' ?
C'est quoi tout cet anglais hors de propos ?

Reply

Marsh Posté le 09-11-2004 à 19:22:11    

Il y a le "casting" aussi. En anglais, c'est "cast".  
 
Et puis son truc, ça tronque, ça n'arrondis pas (enfin, pour les nombres positifs en tout cas).
 

Reply

Marsh Posté le 09-11-2004 à 19:37:45    

humm c'etait mon premier msg sur ce forum :hello:, je pensais être claire mais non. Faut le temps que je m'habitue
 
Enfin bon, pour conclure, utilse la fonction ceil() comme l'a dit Lam's c'est ce qui convient le mieux.


Message édité par Diody le 09-11-2004 à 19:38:36
Reply

Marsh Posté le 09-11-2004 à 19:44:53    

Diody a écrit :

humm c'etait mon premier msg sur ce forum :hello:,


 
Bienvenue.  :hello:  

Reply

Marsh Posté le 09-11-2004 à 19:55:15    

oublie pas le <math.h> et le -lm, si ça va couper :)
 
si C99, voir aussi ceilf et ceill pour float et long double

Reply

Marsh Posté le 09-11-2004 à 21:26:48    

heu, (int)mon_float + 0.5
c'est pas bon ?
je fais comme ca moi pour arrondir :x

Reply

Marsh Posté le 09-11-2004 à 22:00:25    

Taz a écrit :

j'adore ce genre de réflection : pourquoi diable utiliser le mot 'integer' qui n'apparait jamais en C ? On parle de 'integral type', d'entier, d'int.
C'est comme 'casting' : c'est quoi ce 'ing' ?
C'est quoi tout cet anglais hors de propos ?


 
En français, on dit réflexion (reflection est un terme anglais) [:aloy]


---------------
Un matin je me lèverai et il fera beau.
Reply

Marsh Posté le 09-11-2004 à 22:00:25   

Reply

Marsh Posté le 09-11-2004 à 22:04:32    

oops
 
introspexion :)

Reply

Marsh Posté le 09-11-2004 à 22:10:09    

"introspection" non ?  :D

Reply

Marsh Posté le 09-11-2004 à 22:15:51    

c0wb0y a écrit :

"introspection" non ?  :D


 
C'est fait exprès je pense [:cupra]


---------------
Un matin je me lèverai et il fera beau.
Reply

Marsh Posté le 09-11-2004 à 22:27:27    

j'avais pas grillé l'humour http://hellien.free.fr/smileys/biggol.gif

Reply

Marsh Posté le 10-11-2004 à 09:52:02    

c0wb0y a écrit :

heu, (int)mon_float + 0.5
c'est pas bon ?
je fais comme ca moi pour arrondir :x


Oui, mais il ne veut pas arrondir, il veut arrondir à la première valeur directement supérieure.  
 
Or (int) (5.1+0.5) == 5, pas 6.
 
 
D'autre part, ta méthode ne fonctionne que pour les nombres positifs.
 
(int) (-6.1 + 0.5) == -5, pas -6.

Reply

Marsh Posté le 10-11-2004 à 20:29:46    

ha oui, faut dire que les situations auquelles j'avais recours a l'arrondi faisait que je n'avais pas ce genre de cas :)
(donc je pense que la, c'est interessant de passer par ma methode)
Apres, pour du vrai arrondi quelque soit le cas, j'irai voir les fonctions qui ont été proposée :)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed