Discussion: calcul de puissances

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    avril 2011
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : avril 2011
    Messages : 10
    Points : 9
    Points
    9

    Par défaut calcul de puissances

    Bonjour,

    Comment peut on écrire en c++ ce petit exercice svp ?
    Merci

    Voici l'exercice:
    Si n impair
    S= 1 !/x²+3!/x puissance 3 + ….. + n !/x puissance n
    Si n pair
    S=2 !/x²+4 !/x puissance4+……n !/x puissance n

  2. #2
    Expert éminent sénior
    Avatar de koala01
    Homme Profil pro
    Consultant informatique
    Inscrit en
    octobre 2004
    Messages
    10 574
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : octobre 2004
    Messages : 10 574
    Points : 23 411
    Points
    23 411

    Par défaut

    Salut,

    Tu n'as sans doute qu'une information manquante: comment savoir si un nombre est pair ou impair. Et, cela, c'est simple: tu regarde s'il est divisible par 2. Et comment tu peux le savoir grâce à ce que l'on appelle le modulo, qui calcule le reste de la division entre deux nombres. En C et en C++, modulo est représenté par le symbole %. si bien que si tu fais un test proche de if(nombre%2 == 0), tu sauras si ton nombre est pair ou impair

    Le reste, c'est à toi de voir comment faire le calcul qui va bien
    A méditer: La solution la plus simple est toujours la moins compliquée
    Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 février 2014
    mon tout nouveau blog

  3. #3
    Expert éminent sénior

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    juin 2007
    Messages
    4 983
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : juin 2007
    Messages : 4 983
    Points : 16 614
    Points
    16 614

    Par défaut

    la puissance, c'est facile.
    x puissance n, c'est 1 * x * x * ... avec n multiplication par x.

    Par contre, la factorielle, ca va être plus comique.
    Notamment, parce que par exemple, 20!, c'est 2 432 902 008 176 640 000 soit un peu plus que 2,4 milliards de milliards (ou 2,4 * 10^18)
    C'est aussi a peu pres 2,4 * 2^60. Soit au moins 60 bits. Ca doit rentrer dans un long long (64 bits).
    J'imagine qu'avec 23! on dépasse la représentation possible des entiers sur des ordinateurs (sans passer par des astuces monstrueusement lentes et hors de portée d'un tel exercice)
    Mes principes de bases du codeur qui veut pouvoir dormir:
    • Une variable de moins est une source d'erreur en moins.
    • Un pointeur de moins est une montagne d'erreurs en moins.
    • Un copier-coller, ça doit se justifier... Deux, c'est un de trop.
    • jamais signifie "sauf si j'ai passé trois jours à prouver que je peux".
    • La plus sotte des questions est celle qu'on ne pose pas.
    Pour faire des graphes, essayez yEd.
    le ter nel est le titre porté par un de mes personnages de jeu de rôle

  4. #4
    Rédacteur/Modérateur
    Avatar de JolyLoic
    Homme Profil pro
    Développeur informatique
    Inscrit en
    août 2004
    Messages
    5 372
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : août 2004
    Messages : 5 372
    Points : 15 051
    Points
    15 051

    Par défaut

    Faire le calcul exact, effectivement, ça va vite bloquer. Maintenant, faire le calcul avec des doubles (voire des long double) donnera une valeur approchée pas forcément trop mauvaise. Bonne jusqu'à quel point, c'est une autre question, je ne sais pas trop, et ça dépend probablement très fortement de x. Pour des x positifs, ça devrait plutôt pas trop mal se passer par exemple.
    Ma session aux Microsoft TechDays 2013 : Développer en natif avec C++11.
    Celle des Microsoft TechDays 2014 : Bonnes pratiques pour apprivoiser le C++11 avec Visual C++
    Et celle des Microsoft TechDays 2015 : Visual C++ 2015 : voyage à la découverte d'un nouveau monde
    Je donne des formations au C++ en entreprise, n'hésitez pas à me contacter.

  5. #5
    Expert éminent sénior

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    juin 2007
    Messages
    4 983
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : juin 2007
    Messages : 4 983
    Points : 16 614
    Points
    16 614

    Par défaut

    Cela dit, n! / x^n, c'est le produit successif des i/x, pour i entre 1 et n.
    Mes principes de bases du codeur qui veut pouvoir dormir:
    • Une variable de moins est une source d'erreur en moins.
    • Un pointeur de moins est une montagne d'erreurs en moins.
    • Un copier-coller, ça doit se justifier... Deux, c'est un de trop.
    • jamais signifie "sauf si j'ai passé trois jours à prouver que je peux".
    • La plus sotte des questions est celle qu'on ne pose pas.
    Pour faire des graphes, essayez yEd.
    le ter nel est le titre porté par un de mes personnages de jeu de rôle

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    juin 2016
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 15
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : juin 2016
    Messages : 26
    Points : 39
    Points
    39

    Par défaut

    Bonsoir,
    juste un conseil pour créer une fonction permettant de calculer une factorielle: je pense que tu devrais t'orienter vers une fonction récursive, pour faire simple, une fonction qui dans son code 'interne' s'appelle elle-même.
    Cela devrait peut être te donner un axe de recherche.

    Cordialement.

  7. #7
    Expert éminent sénior
    Avatar de koala01
    Homme Profil pro
    Consultant informatique
    Inscrit en
    octobre 2004
    Messages
    10 574
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : octobre 2004
    Messages : 10 574
    Points : 23 411
    Points
    23 411

    Par défaut

    Surtout pas, malheureux!!!!

    Il n'est absolument pas plus compliqué de créer une boucle qui puisse calculer la factorielle que de le faire de manière récursive. Et c'est ce que je reproche généralement à cet exemple.

    Or, si tu peux t'en sortir avec une logique "assez simple" pour se contenter d'utiliser une boucle, tu n'as absolument aucun intérêt à envisager la récursivité, qui vient avec son lot de problème (dont, entres autres, un risque accru de dépassement de la capacité de la pile d'appels en C++).

    Si tu te retrouves dans une situation dans laquelle il est plus difficile d'exprimer une logique au travers une boucle qu'au travers d'une fonction récursive (par exemple : la résolution des tours de Hanoï), alors, tu as tout intérêt à envisager la récursivité. Mais s'il est au moins aussi facile d'exprimer la logique au travers d'une boucle, tu as toujours intérêt à choisir la boucle "par défaut".

    Le calcul d'une factorielle est, justement, ce genre de cas où il n'y a strictement aucune difficulté à exprimer la logique au travers d'une boucle. Donc, il est largement préférable d'utiliser une boucle
    A méditer: La solution la plus simple est toujours la moins compliquée
    Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 février 2014
    mon tout nouveau blog

  8. #8
    Nouveau membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    juin 2016
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 15
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : juin 2016
    Messages : 26
    Points : 39
    Points
    39

    Par défaut

    Mea culpa dans ce cas !


    Il est vrai que la solution apparente la plus simple n'est pas toujours la moins compliquée

    Par contre pour le calcul de la factorielle avec une boucle: vous le feriez comme ça?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
      int factorielle= 100; //on prend 100 comme 'exemple'
     
      int calcul_factorielle(int factorielle){
         int result=1;
         for(int i=factorielle; i>0; i--){
         result *=i;
         }
         return result;
      }

  9. #9
    Membre émérite
    Avatar de prgasp77
    Homme Profil pro
    Ingénieur en systèmes embarqués
    Inscrit en
    juin 2004
    Messages
    1 277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur en systèmes embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : juin 2004
    Messages : 1 277
    Points : 2 275
    Points
    2 275

    Par défaut

    J'aoute mon grain de sel. Depuis C++11, std::tgamma a été ajouté à la bibliothèque standart.

    Une implémentation de factorielle peut donc être :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    #include <cmath>
    long double factorial(long double n)
    {
        return std::tgamma(n+1);
    }
    -- Yankel Scialom

  10. #10
    Membre expérimenté Avatar de Astraya
    Homme Profil pro
    Consommateur de café
    Inscrit en
    mai 2007
    Messages
    853
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France

    Informations professionnelles :
    Activité : Consommateur de café
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : mai 2007
    Messages : 853
    Points : 1 525
    Points
    1 525

    Par défaut

    Citation Envoyé par koala01 Voir le message
    Salut,

    Tu n'as sans doute qu'une information manquante: comment savoir si un nombre est pair ou impair. Et, cela, c'est simple: tu regarde s'il est divisible par 2. Et comment tu peux le savoir grâce à ce que l'on appelle le modulo, qui calcule le reste de la division entre deux nombres. En C et en C++, modulo est représenté par le symbole %. si bien que si tu fais un test proche de if(nombre%2 == 0), tu sauras si ton nombre est pair ou impair

    Le reste, c'est à toi de voir comment faire le calcul qui va bien
    Ou if(nombre&1) si on chipote sur la performance
    Homer J. Simpson


  11. #11
    Expert éminent sénior

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    juin 2007
    Messages
    4 983
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : juin 2007
    Messages : 4 983
    Points : 16 614
    Points
    16 614

    Par défaut

    Non, ca, ce n'est pas une bonne optimisation, le compilateur est capable de la faire, et le code est moins lisible.
    Mes principes de bases du codeur qui veut pouvoir dormir:
    • Une variable de moins est une source d'erreur en moins.
    • Un pointeur de moins est une montagne d'erreurs en moins.
    • Un copier-coller, ça doit se justifier... Deux, c'est un de trop.
    • jamais signifie "sauf si j'ai passé trois jours à prouver que je peux".
    • La plus sotte des questions est celle qu'on ne pose pas.
    Pour faire des graphes, essayez yEd.
    le ter nel est le titre porté par un de mes personnages de jeu de rôle

  12. #12
    Membre expérimenté Avatar de Astraya
    Homme Profil pro
    Consommateur de café
    Inscrit en
    mai 2007
    Messages
    853
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France

    Informations professionnelles :
    Activité : Consommateur de café
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : mai 2007
    Messages : 853
    Points : 1 525
    Points
    1 525

    Par défaut

    Tu peux me sortir un benchmark? car pour le moment, dans tout les moteurs nécessitant des performances élever le modulo et la division sont a proscrire au maximum.
    Comment es-tu sur à 100% de ce que le compilateur va faire? De la version de ton compilateur? De ton compilateur?

    Le code est tout à fait lisible, où il faut revoir ces compétences sur le masquage.

    CF : https://software.intel.com/en-us/for...r/topic/298589

    Ce genre d'optimisation compte énormément lorsque tu travailles avec un système qui doit rouler rapidement ( Car utiliser par une équipe ) et en debug ( Pour dump les callstacks par exemple ). Je pense à une configuration release avec information de débogage tu as besoin de ce genre de chose.
    Après si c,Est pour un logiciel lamba, ça ne fera rien gagné, mais pour la connaissance général il est toujours bon de ne pas oublier ceci.

    J'admets une limitation : Le type de "number" doit est unsigned
    Homer J. Simpson


  13. #13
    Membre émérite
    Avatar de prgasp77
    Homme Profil pro
    Ingénieur en systèmes embarqués
    Inscrit en
    juin 2004
    Messages
    1 277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur en systèmes embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : juin 2004
    Messages : 1 277
    Points : 2 275
    Points
    2 275

    Par défaut

    Citation Envoyé par Astraya Voir le message
    Tu peux me sortir un benchmark?
    Je vous retournerais la question : l'optimisation à priori étant la racine de tous les maux, j'attendais d'un bon développeur qu'il écrive if (valeur % 2 == 0) à moins que celui-ci puisse me prouver via profiling que :
    1. cette instruction en particulier coîte du temps d'exécution
    2. ET une autre forme soit plus efficace.


    Mais vous laissant le bénéfice du doute, et en dépis du fait que je suis persuadé que n'importe quel compilateur décent génère le même assembleur dans les deux cas, j'ai fait le test. Surprise : https://godbolt.org/g/XJcyxw
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    bool f1(int value) { return value % 2 == 0; }
     
    bool f2(int value) { return ! (value & 1); }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    f1(int):
            mov     eax, edi
            not     eax
            and     eax, 1
            ret
    f2(int):
            mov     eax, edi
            not     eax
            and     eax, 1
            ret
    -- Yankel Scialom

  14. #14
    Membre expérimenté Avatar de Astraya
    Homme Profil pro
    Consommateur de café
    Inscrit en
    mai 2007
    Messages
    853
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France

    Informations professionnelles :
    Activité : Consommateur de café
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : mai 2007
    Messages : 853
    Points : 1 525
    Points
    1 525

    Par défaut

    Passe le sur MSVC 19 2017 RTW sans optimisation pour voir... On ne peut être sur de rien...
    Bien sur le compilateur peut optimiser le modulo 2 et heureusement, mais une instruction div en plus est très couteux dans certains cas.
    Homer J. Simpson


  15. #15
    Membre émérite
    Avatar de prgasp77
    Homme Profil pro
    Ingénieur en systèmes embarqués
    Inscrit en
    juin 2004
    Messages
    1 277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur en systèmes embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : juin 2004
    Messages : 1 277
    Points : 2 275
    Points
    2 275

    Par défaut

    Citation Envoyé par Astraya Voir le message
    Passe le sur MSVC 19 2017 RTW sans optimisation pour voir... On ne peut être sur de rien...
    J'ai dit un compilateur décent.

    Citation Envoyé par Astraya Voir le message
    Bien sur le compilateur peut optimiser le modulo 2 et heureusement, mais une instruction div en plus est très couteux dans certains cas.
    dans certains cas.

    Je maintiens donc mes attentes : un bon développeur devrait écrire if (valeur % 2 == 0) à moins que celui-ci puisse prouver via profiling que :

    1. cette instruction en particulier coîte du temps d'exécution
    2. ET une autre forme soit plus efficace.
    -- Yankel Scialom

  16. #16
    Expert éminent
    Homme Profil pro
    Développeur informatique
    Inscrit en
    février 2005
    Messages
    4 381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : février 2005
    Messages : 4 381
    Points : 9 770
    Points
    9 770

    Par défaut

    sans optimisation
    Heu, c'est une blague ??? ou du troll ????

  17. #17
    Expert éminent sénior

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    juin 2007
    Messages
    4 983
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : juin 2007
    Messages : 4 983
    Points : 16 614
    Points
    16 614

    Par défaut

    Comparer des performances sans optimisations, c'est sans intérêt.

    Certes pour un entier non signé, x % 2 est remplacable par x & 2.

    Mais qu'en est-il de x % 4 ?

    Et x % 3?
    Mes principes de bases du codeur qui veut pouvoir dormir:
    • Une variable de moins est une source d'erreur en moins.
    • Un pointeur de moins est une montagne d'erreurs en moins.
    • Un copier-coller, ça doit se justifier... Deux, c'est un de trop.
    • jamais signifie "sauf si j'ai passé trois jours à prouver que je peux".
    • La plus sotte des questions est celle qu'on ne pose pas.
    Pour faire des graphes, essayez yEd.
    le ter nel est le titre porté par un de mes personnages de jeu de rôle

  18. #18
    Membre émérite
    Avatar de prgasp77
    Homme Profil pro
    Ingénieur en systèmes embarqués
    Inscrit en
    juin 2004
    Messages
    1 277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur en systèmes embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : juin 2004
    Messages : 1 277
    Points : 2 275
    Points
    2 275

    Par défaut

    Citation Envoyé par bacelar Voir le message
    Heu, c'est une blague ??? ou du troll ????
    Ho j'avais pas vu ! Je l'imprime, je l'encadre, ça va faire rire les collègues !

    Alors oui, sans activer l'optimisation, les compilateurs n'optimisent pas. C'est fou !
    -- Yankel Scialom

  19. #19
    Membre expérimenté Avatar de Astraya
    Homme Profil pro
    Consommateur de café
    Inscrit en
    mai 2007
    Messages
    853
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France

    Informations professionnelles :
    Activité : Consommateur de café
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : mai 2007
    Messages : 853
    Points : 1 525
    Points
    1 525

    Par défaut

    Citation Envoyé par prgasp77 Voir le message
    J'ai dit un compilateur décent.

    dans certains cas.

    Je maintiens donc mes attentes : un bon développeur devrait écrire if (valeur % 2 == 0) à moins que celui-ci puisse prouver via profiling que :

    1. cette instruction en particulier coîte du temps d'exécution
    2. ET une autre forme soit plus efficace.
    Très bien alors en optimisation complete 'Ox' avec symbol de debug ( même si cela ne change rien ) sous Visual Studio 2015:
    Le code suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    volatile int32 I = 256;
        {
            volatile bool IsEven = !(I % 2);
            IsEven;
        }
        {
            volatile bool IsEven = !(I & 1);
            IsEven;
        }
    La version '%' te donne ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    000007FEE11C6B94  mov         eax,dword ptr [I]  
    000007FEE11C6B9B  and         eax,80000001h  
    000007FEE11C6BA0  jge         Test::InitializeModule+29h (07FEE11C6BA9h)  
    000007FEE11C6BA2  dec         eax  
    000007FEE11C6BA4  or          eax,0FFFFFFFEh  
    000007FEE11C6BA7  inc         eax  
    000007FEE11C6BA9  test        eax,eax  
    000007FEE11C6BAB  sete        byte ptr [rsp+128h]
    et la version optimisée te donne ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    000007FEE11C6BBB  mov         eax,dword ptr [I]  
    000007FEE11C6BC2  xor         al,0FFh  
    000007FEE11C6BC4  and         al,1  
    000007FEE11C6BC6  mov         byte ptr [IsEven],al
    Donc : la version '&' te permets de t'assurer que peut importe le niveau d'optimisation, de compilateur etc... la version '&' te donne au pire des performances identiques a '%' et au mieux un gain signifiant.
    Une benchmark ne se fait pas sur une simple fonction comme tu as fait, mais sur une version plus complexe comme 90% des cas réels et également dans un environnement multi-thread, etc... donc rigole bien dans ta SSII
    Homer J. Simpson


  20. #20
    Membre émérite
    Avatar de prgasp77
    Homme Profil pro
    Ingénieur en systèmes embarqués
    Inscrit en
    juin 2004
    Messages
    1 277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur en systèmes embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : juin 2004
    Messages : 1 277
    Points : 2 275
    Points
    2 275

    Par défaut

    Citation Envoyé par Astraya Voir le message
    Très bien alors en optimisation complete 'Ox' avec symbol de debug ( même si cela ne change rien ) sous Visual Studio 2015...
    Voila ! Vous avez prouvé que sur ce compilateur-ci spécifiquement la réécriture du test a un impact. Si dans un cas concret un besoin d'optimisation se fait sentir et que c'est ce test a un impact significatif, utiliser l'idiome &1 est justifié.

    (Ca prouve surtout la qualité de MSVC mais bon...)
    -- Yankel Scialom

Discussions similaires

  1. Réponses: 0
    Dernier message: 10/09/2010, 10h13
  2. [PHP-JS] Débutant demande aide liste php
    Par bcbgtn dans le forum Débuter
    Réponses: 1
    Dernier message: 14/06/2007, 12h24
  3. débutante demande aide
    Par youna dans le forum Langage
    Réponses: 1
    Dernier message: 04/10/2005, 12h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo