◐ Shell
clean mode source ↗

std::signbit - cppreference.com

De cppreference.com

Definido en el archivo de encabezado <cmath>

bool signbit( float arg );

(1) (desde C++11)
(constexpr since C++23)

bool signbit( double arg );

(2) (desde C++11)
(constexpr since C++23)

bool signbit( long double arg );

(3) (desde C++11)
(constexpr since C++23)

bool signbit( TipoEntero arg );

(4) (desde C++11)
(constexpr since C++23)

1-3) Determina si el número de punto flotante dado arg es negativo.

4) Un conjunto de sobrecargas o una plantilla de función que acepta el argumento arg de cualquier tipo entero. Equivalente a (2) (el argumento se convierte a double).

Parámetros

arg - Valor de punto flotante.

Valor de retorno

true si arg es negativo; false de lo contrario.

Notas

Esta función detecta el bit de signo de ceros, infinidades y NaNs. Junto con std::copysign, std::signbit es una de solo dos maneras portátiles de examinar el signo de un NaN.

Ejemplo

#include <iostream>
#include <cmath>

int main()
{
    std::cout << std::boolalpha
              << "signbit(+0.0) = " << std::signbit(+0.0) << '\n'
              << "signbit(-0.0) = " << std::signbit(-0.0) << '\n';
}

Salida:

signbit(+0.0) = false
signbit(-0.0) = true

Véase también