2010-01-09 9 views

Répondre

1

Vous pouvez utiliser un algorithme qui effectue le calcul incrémentiel, l'extrait suivant doit être facilement transformé en assemblage de point fixe car il n'utilise pas les fonctions factorielles et de puissance. Habituellement, il est plus facile de le faire avec des tables de recherche. Assembly code for 68HC11 to calculate sin(x)

double taylorSin(double x,double epsilon) { 
     double result = 0.0; 
     double part_n = 0.0,part=x; 
     result = part; 
     int i = 1; 
     while (fabs(part - part_n) > epsilon) { 
      part_n = part; 
      part = (-part*x*x)/((2*i)*(2*i+1)); 
      result += part; 
      i++; 
     } 
     return result; 
} 
0

La série de Taylor est probablement pas la meilleure option. Jetez un oeil à CORDIC.

Questions connexes