11Fermer13
BiHiLe 28/11/2003 à 21:43
[pre] #include <stdio.h> #include <stdlib.h> #include <math.h> float my_sqrt(float a) { float n = a; float old = -1; while(old != n) { old = n; n = 0.5 * (n + (a/n)); } return n; } int main() { for(n= 1000; n<10000000; n++) { if((float)my_sqrt((float)n) != (float)sqrt((float)n)) printf("%d - ", n); } return 0; } [pre] Chez moi j'obtiens aucun affichage, donc ça veut dire qu'il n'y a pas de différences. Enfin en enlevant le cast en float dans le test d'égalité, j'obtiens pas pareil par contre.