sin v/s sinf fonction en C
Je suis en train d'utiliser le sinf
fonction dans mon Programme C, mais il me donne une erreur undefined reference sous MSVC 6.0, cependant sin
fonctionne très bien.
Ce me rendre curieux de savoir la différence entre sin
et sinf
.
Quelle est la logique de la différence entre sin
et sinf
?
Comment puis-je mettre en place mes propres sinf
fonctionnalité?
À l'aide d'un flotteur fonction pour calculer le sinus est une sinf.
OriginalL'auteur Viks | 2010-05-15
Vous devez vous connecter pour publier un commentaire.
sin
prend une double et renvoie un double -sinf
prend un flotteur et renvoie un float.En d'autres termes
sin
est le double de la précision et desinf
est simple précision.Si vous utilisez un vieux compilateur qui n'ont pas sinf vous pouvez la mettre en œuvre comme:
#define sinf(x) (float)sin((double)(x))
OriginalL'auteur Paul R
sin prend une double et renvoie un double, et il est défini par la norme ANSI C. sinf ne l'est pas.
sinf()
n'est pas standard en C89. est standard en C99.OriginalL'auteur Apprentice Queue
sinf()
a été ajouté à C en C99, qui Microsoft Visual C++ ne prend pas entièrement en charge (même si, Visual C++ 6 a été publié avant C99 a été normalisé).Vous pouvez utiliser le
sin()
fonction, qui prend undouble
(sinf()
prend unfloat
).OriginalL'auteur James McNellis