Espacios de nombres
Variantes
Acciones

std::nan, std::nanf, std::nanl

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)
nannanfnanl
(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>
float       nanf( const char* arg );
(1) (desde C++11)
double      nan( const char* arg );
(2) (desde C++11)
long double nanl( const char* arg );
(3) (desde C++11)

Convierte la cadena de caracteres arg en el valor NaN simple (quiet) correspondiente, como si llamara a std::strtof, std::strtod o std ::strtold, respectivamente.

1) La llamada std::nanf("secuencia-de-n-caracteres"), donde secuencia-de-n-caracteres es una secuencia de dígitos, letras ASCII y guiones bajos, es equivalente a la llamada std::strtof("NAN(secuencia-de-n-caracteres)", (char**)nullptr);.
La llamada std::nanf("") es equivalente a la llamada std::strtof("NAN()", (char**)nullptr);.
La llamada std::nanf("string"), donde string no es ni una secuencia-de-n-caracteres ni una cadena vacía, es equivalente a la llamada std::strtof("NAN", (char**)nullptr);.
2) Igual que (1), pero llama a std::strtod en lugar de std::strtof.
3) Igual que (1), pero llama a std::strtold en lugar de std::strtof.

Contenido

[editar] Parámetros

arg - Cadena de caracteres angostos que identifican el contenido de un NaN.

[editar] Valor de retorno

El valor NaN simple que corresponde a la cadena de identificación arg o cero si la implementación no admite NaN simples.

Si la implementación admite la aritmética de punto flotante IEEE (IEC 60559), también admite NaN simples.

[editar] Manejo de errores

Esta función no está sujeta a ninguna de las condiciones de error especificadas en math_errhandling.

[editar] Ejemplo

#include <iostream>
#include <cmath>
#include <cstdint>
#include <cstring>
 
int main()
{
    double f1 = std::nan("1");
    std::uint64_t f1n; std::memcpy(&f1n, &f1, sizeof f1);
    std::cout << "nan(\"1\") = " << f1 << " (" << std::hex << f1n << ")\n";
 
    double f2 = std::nan("2");
    std::uint64_t f2n; std::memcpy(&f2n, &f2, sizeof f2);
    std::cout << "nan(\"2\") = " << f2 << " (" << std::hex << f2n << ")\n";
}

Posible salida:

nan("1") = nan (7ff0000000000001)
nan("2") = nan (7ff0000000000002)

[editar] Véase también

(C++11)
Comprueba si el número dado es NaN
(función) [editar]
(C++11)
Se evalúa a un tipo simple de NaN de tipo float
(constante de macro) [editar]
[estático]
identifica tipos de punto flotante que puede representar el valor especial "tranquilo, no un número" (NaN)
Original:
identifies floating-point types that can represent the special value "quiet not-a-number" (NaN)
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(constante miembro pública estática de std::numeric_limits) [editar]
identifica tipos de punto flotante que puede representar el valor especial "señalización no un número" (NaN)
Original:
identifies floating-point types that can represent the special value "signaling not-a-number" (NaN)
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(constante miembro pública estática de std::numeric_limits) [editar]
[estático]
devuelve un valor NaN tranquilo de lo dado tipo de punto flotante
Original:
returns a quiet NaN value of the given floating-point type
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(función miembro estática pública de std::numeric_limits) [editar]
[estático]
devuelve un valor NaN de señalización de lo dado tipo de punto flotante
Original:
returns a signaling NaN value of the given floating-point type
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(función miembro estática pública de std::numeric_limits) [editar]
Documentación de C para nanf, nan, nanl