Il est très probable que le compilateur va convertir une fracture à une multiplication dans ce cas, s'il "pense" c'est plus rapide. En divisant par 2 en virgule flottante peut également être plus rapide que les autres float divise. Si le compilateur n'a pas à le convertir, il PEUT être plus rapide d'utiliser multiplier, mais pas certain - dépend du processeur lui-même.
Le gain manuellement, à l'aide de multiplier au lieu de fracture peut être très grande dans le cas où le compilateur ne peut pas déterminer qu'il est "sûr" pour faire e.g 0.1 ne peuvent pas être stockés exactement comme de 0,1 à un nombre à virgule flottante, il devient 0.10000000149011612). Voir ci-dessous pour les chiffres sur les processeurs AMD, ce qui peut être considéré comme représentatif de la classe.
Pour savoir si votre compilateur n'est ce bien ou pas, pourquoi ne pas vous écrire un peu de code à l'expérimentation. Assurez-vous que vous l'écrivez, de sorte que le compilateur n'est pas simplement calculer une valeur constante et efface tous les calculs en boucle tho'.
Edit:
AMD optimisation de guide pour la Famille 15h processeurs, fournir des chiffres pour fdiv
et fmul
- 42 et 6, respectivement. L'ESS sont des versions un peu plus près, 24 (unique) ou 27 (double) cycles pour DIVPS, DIVPD DIVSS et DIVSD (fracture), et 6 cycles pour toutes les formes de se multiplier.
À partir de la mémoire, du processeur Intel chiffres ne sont pas loin.