Espacios de nombres
Variantes
Acciones

std::abs, std::labs, std::llabs, std::imaxabs

De cppreference.com
< cpp‎ | numeric‎ | math
 
 
 
Funciones matemáticas comunes
Funciones
Operaciones básicas
abs(int)labsllabsimaxabs
(C++11)
(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 <cstdlib>
Definido en el archivo de encabezado <cmath>
int       abs( int n );
(1) (constexpr since C++23)
long      abs( long n );
(2) (constexpr since C++23)
long long abs( long long n );
(3) (desde C++11)
(constexpr since C++23)
Definido en el archivo de encabezado <cstdlib>
long       labs( long n );
(4) (constexpr since C++23)
long long llabs( long long n );
(5) (desde C++11)
(constexpr since C++23)
Definido en el archivo de encabezado <cinttypes>
(6) (desde C++11)
(7) (desde C++11)

Calcula el valor absoluto de un número entero. El comportamiento no está definido si el resultado no puede representarse por el tipo de retorno.

Si se llama a std::abs con un argumento de tipo entero sin signo que no puede convertirse a int por la promoción de enteros, el programa está mal formado.

La sobrecarga (6) de std::abs para std::intmax_t se proporciona en <cinttypes> si y solo si std: :intmax_t es un tipo entero extendido.

(desde C++11)

Contenido

[editar] Parámetros

n - Valor entero.

[editar] Valor de retorno

El valor absoluto de n (es decir, |n|), si es representable.

[editar] Notas

En los sistemas de complemento a 2, el valor absoluto del valor más negativo está fuera de rango. Por ejemplo, para el complemento a 2 de un tipo entero de 32 bits, INT_MIN es -2147483648, pero lo que resultaría, 2147483648, es mayor que INT_MAX, que es 2147483647.

[editar] Ejemplo

#include <iostream>
#include <cstdlib>
#include <climits>
 
int main()
{
    std::cout << "abs(+3) = " << std::abs(3) << '\n'
              << "abs(-3) = " << std::abs(-3) << '\n';
 
//  std::cout << std::abs(INT_MIN); // comportamiento  no definido
                                    // en sistemas de complemento a 2
}

Salida:

abs(+3) = 3
abs(-3) = 3

[editar] Informes de defectos

Los siguientes informes de defectos de cambio de comportamiento se aplicaron de manera retroactiva a los estándares de C++ publicados anteriormente.

ID Aplicado a Comportamiento según lo publicado Comportamiento correcto
LWG 2192 C++98 Las sobrecargas de std::abs estaban declaradas
de manera inconsistente en dos encabezados.
Se declaran estas sobrecargas en ambos encabezados.

[editar] Véase también

Valor absoluto de un valor de punto flotante (|x|)
(función) [editar]
Devuelve la magnitud de un número complejo.
(plantilla de función) [editar]
se aplica la std::abs función a cada elemento de valarray
Original:
applies the function std::abs to each element of valarray
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(plantilla de función) [editar]
Documentación de C para abs, labs, llabs