cs_AlexMAN
Messages postés1536Date d'inscriptionsamedi 21 décembre 2002StatutMembreDernière intervention24 mai 20091 17 juil. 2004 à 19:22
ZogStrip, le break apres le return TRUE ne sert strictement a rien, puis que ta fonction aura rendu la main a la fonction appelante. Mais c vrai que ta fonction est bizar, et celle ci ne travaillant que sur des entiers, un chiffre come 3 ou 6, ne renverra rien...Enfin c ptet le but etant donné ke tous les nombres ont une racine carré..Mais bon, voila comment jlecrirais :
int isSquare(int nbre) {
int i = sqrt(nbre); //conversion implicite de double en int
vecchio56
Messages postés6535Date d'inscriptionlundi 16 décembre 2002StatutMembreDernière intervention22 août 201014 17 juil. 2004 à 18:27
Ca dépend des cas: 100000/1 est surement plus rapide que certaines multiplications, mais en général, je dirais qu'une multiplication doit être plus rapide
cosmobob
Messages postés700Date d'inscriptionmardi 30 décembre 2003StatutMembreDernière intervention27 janvier 20094 17 juil. 2004 à 18:37
non les divisions prennent toutes le meme temps a moins que le compilateur ait optimisé le code et ait fait la division lors de la compilation...
int a = 1000;
int b = 1;
a/b va prendre autant de temps que n'importe quelle division.
Sinon effectivement les multiplications sont bcp plus rapides.
a+ ;)
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_LordBob
Messages postés2865Date d'inscriptionsamedi 2 novembre 2002StatutMembreDernière intervention11 mai 20099 17 juil. 2004 à 18:54
moi je voudrais connaitre l'interet de savoir si la multiplication est plus rapide que la division !!! je ne me suis jamais poser la question, et je ne vois pas ou serait l'utilité de savoir une telle chose...
Bob...
"La chance accorde ses faveur aux esprits avertis..."
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 17 juil. 2004 à 18:58
djl > me semble que oui mais je n'ai pas fait de mesure dessus, faudra tester pour etre sur.
LordBob > quand tu auras a faire un prog ou le temps de calcul est primordial, tu seras oblige d'y penser. En medecine c'est le cas par exemple.
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 17 juil. 2004 à 19:34
ZogStriP et AlexMAN, vu que vous etes tous 2 clients asmfr maintenant, sortez donc le listing produit par le compilo et regardez si on peut gagner qlqchose.
- Si appel externe pour sqrt, alors inserer asm correspondant.
- isSquare doit prendre param en registre (gros benef).
Bon exercice, non ?
cs_AlexMAN
Messages postés1536Date d'inscriptionsamedi 21 décembre 2002StatutMembreDernière intervention24 mai 20091 17 juil. 2004 à 19:58
Brunews, le code assembleur generé par VC est incomprehensible ! j'obtien des fonctions du style
ldarg.0 ; _nbre$
conv.r8
call ?sqrt@@$$J0YANN@Z
conv.i4
stloc.0 ; _i$
je dois prendre le code asm avec un desassembleur ?