2010-05-15 14 views
7

Estoy tratando de usar la función sinf en mi programa C pero me da un error de referencia indefinido bajo MSVC 6.0, sin embargo sin funciona bien.sin v/s función sinf en C

Esto me da curiosidad por encontrar la diferencia entre sin y sinf.

¿Cuál es la diferencia lógica entre sin y sinf?

¿Cómo puedo implementar mi propia funcionalidad sinf?

+0

El uso de una función de flotación para calcular el seno es un sinf. –

Respuesta

7

sin toma un doble y devuelve un doble - sinf toma un flotador y devuelve un flotador.

En otras palabras, sin es de precisión doble y sinf tiene precisión simple.

Si está usando un viejo compilador que no tiene senf se puede implementar como:

#define sinf(x) (float)sin((double)(x))

3

pecado lleva un doble y devuelve un doble y se define por ANSI C senf ISN 't.

+4

'sinf()' no es estándar en C89. Es _ estándar en C99. –

2

sinf() se agregó a C en C99, que Microsoft Visual C++ no es totalmente compatible (aun así, se lanzó Visual C++ 6 antes de que se estandarizara C99).

Usted puede utilizar la función sin(), que toma un double (sinf() toma un float).

Cuestiones relacionadas