Espacios de nombres
Variantes
Acciones

std::sin, std::sinf, std::sinl

De cppreference.com
< cpp‎ | numeric‎ | math
 
 
 
Funciones matemáticas comunes
Funciones
Operaciones básicas
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)(C++11)(C++11)
Funciones exponenciales
(C++11)
(C++11)
(C++11)
(C++11)
Funciones de potencias
(C++11)
(C++11)
Funciones trigonométricas e hiperbólicas
(C++11)
(C++11)
(C++11)
Funciones de error y gamma
(C++11)
(C++11)
(C++11)
(C++11)
Operaciones de punto flotante del entero más cercano
(C++11)(C++11)(C++11)
(C++11)
(C++11)
(C++11)(C++11)(C++11)
Funciones de manipulación de punto flotante
(C++11)(C++11)
(C++11)
(C++11)
(C++11)(C++11)
(C++11)
Clasificación/comparación
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
Constantes de macro
(C++11)(C++11)(C++11)(C++11)(C++11)
 
Definido en el archivo de encabezado <cmath>
(1)
float       sin ( float arg );
float       sinf( float arg );
(desde C++11)
double      sin ( double arg );
(2)
(3)
long double sin ( long double arg );
long double sinl( long double arg );
(desde C++11)
double      sin ( TipoEntero arg );
(4) (desde C++11)
1-3) Calcula el seno de arg (medido en radianes).
4) Un conjunto de sobrecargas o una plantilla de función que acepta un argumento de cualquier tipo entero. Equivalente a (2) (el argumento se convierte a double).

Contenido

[editar] Parámetros

arg - Valor que representa el ángulo en radianes de un tipo de punto flotante o un tipo entero.

[editar] Valor de retorno

Si no se producen errores, se devuelve el seno de arg (sin(arg)) en el rango [-1 ; +1].

El resultado puede tener poca o ninguna importancia si la magnitud de arg es grande.

(hasta C++11)

Si se produce un error de dominio, se devuelve un valor definido por la implementación (NaN donde se dé apoyo).

Si se produce un error debido a subdesbordamiento, se devuelve el resultado correcto (después del redondeo).

[editar] Manejo de errores

Los errores se informan como se especifica en math_errhandling.

Si la implementación admite la aritmética de punto flotante IEEE (IEC 60559):

  • Si el argumento es +0 o -0, se devuelve +0 o -0, respectivamente.
  • Si el argumento es +∞ o -∞, se devuelve NaN y se genera FE_INVALID.
  • Si el argumento es NaN, se devuelve NaN.

[editar] Notas

El caso en el que el argumento es infinito no se especifica como un error de dominio en C (al que difiere C++), pero se define como un error de dominio en POSIX.

POSIX también especifica que en caso de subdesbordamiento, se devuelva arg sin modificar, y si no se admite, se devuelva un valor definido por la implementación no mayor que DBL_MIN, FLT_MIN y LDBL_MIN.

[editar] Ejemplo

#include <iostream>
#include <cmath>
#include <cerrno>
#include <cfenv>
 
#pragma STDC FENV_ACCESS ON
const double pi = std::acos(-1);
int main()
{
    // uso típico
    std::cout << "sin(pi/6) = " << std::sin(pi/6) << '\n'
              << "sin(pi/2) = " << std::sin(pi/2) << '\n'
              << "sin(-3*pi/4) = " << std::sin(-3*pi/4) << '\n';
    // valores especiales
    std::cout << "sin(+0) = " << std::sin(0.0) << '\n'
              << "sin(-0) = " << std::sin(-0.0) << '\n';
    // manejo de errores 
    std::feclearexcept(FE_ALL_EXCEPT);
    std::cout << "sin(INFINITY) = " << std::sin(INFINITY) << '\n';
    if (std::fetestexcept(FE_INVALID))
        std::cout << "    Se generó FE_INVALID\n";
}

Posible salida:

sin(pi/6) = 0.5
sin(pi/2) = 1
sin(-3*pi/4) = -0.707107
sin(+0) = 0
sin(-0) = -0
sin(INFINITY) = -nan
    Se generó FE_INVALID

[editar] Véase también

(C++11)(C++11)
Calcula el coseno (cos(x))
(función) [editar]
(C++11)(C++11)
Calcula la tangente (tan(x))
(función) [editar]
(C++11)(C++11)
Calcula el arco seno (arcsen(x))
(función) [editar]
Calcula el seno de un número complejo (sen(z)).
(plantilla de función) [editar]
Aplica la función std::sin a cada elemento de valarray.
(plantilla de función) [editar]