ABS, laboratorios, llabs, _abs64

 

Publicado: octubre de 2016

Para obtener la documentación más reciente de Visual Studio 2017 RC, consulte Documentación de Visual Studio 2017 RC.

Calcula el valor absoluto del argumento.

int abs(   
   int n   
);  
long abs(   
   long n   
);   // C++ only  
long long abs(   
   long long n   
);   // C++ only  
double abs(   
   double n   
);   // C++ only  
long double abs(  
   long double n  
);   // C++ only  
float abs(  
   float n   
);   // C++ only  
long labs(  
   long n   
);  
long long llabs(  
   long long n   
);  
__int64 _abs64(   
   __int64 n   
);  

Parámetros

n
Valor numérico.

El abs, labs, llabs y _abs64 funciones devuelven el valor absoluto del parámetro n. No se devuelve ningún error.

Como C++ permite las sobrecargas, puede llamar a las sobrecargas de abs que toman y devuelven long, long long, float, double, y long double valores. Estas sobrecargas se definen en el encabezado < cmath >. En un programa de C, abs siempre toma y devuelve un int.

Específicos de Microsoft

Dado que el intervalo de enteros negativos que se puede representar mediante el uso de cualquier tipo entero es mayor que el intervalo de números enteros positivos que puede representarse mediante el uso de ese tipo, es posible proporcionar un argumento a estas funciones que no se puede convertir. Si el valor absoluto del argumento no se puede representar el tipo de valor devuelto, el abs funciones devuelven el valor del argumento sin cambios. En concreto, abs(INT_MIN) devuelve INT_MIN, labs(LONG_MIN) devuelve LONG_MIN, llabs(LLONG_MIN) devuelve LLONG_MIN, y _abs64(_I64_MIN) devuelve _I64_MIN. Esto significa que la abs no se puede utilizar funciones para garantizar un valor positivo.

Fin de Específicos de Microsoft

RutinaEncabezado necesario de CEncabezado de C++ necesario
abs, labs, llabs< math.h > o < stdlib.h >< cmath >, < cstdlib >, < stdlib.h > o < math.h >
_abs64<stdlib.h>< cstdlib > o < stdlib.h >

Para usar las versiones sobrecargadas de abs en C++, debe incluir el encabezado < cmath >.

Este programa calcula y muestra los valores absolutos de varios números.

// crt_abs.c  
// Build: cl /W3 /TC crt_abs.c  
// This program demonstrates the use of the abs function  
// by computing and displaying the absolute values of  
// several numbers.  
  
#include <stdio.h>  
#include <math.h>  
#include <stdlib.h>  
#include <limits.h>  
  
int main( void )  
{  
    int ix = -4;  
    long lx = -41567L;  
    long long llx = -9876543210LL;  
    __int64 wx = -1;  
  
    // absolute 32 bit integer value  
    printf_s("The absolute value of %d is %d\n", ix, abs(ix));  
  
    // absolute long integer value  
    printf_s("The absolute value of %ld is %ld\n", lx, labs(lx));  
  
    // absolute long long integer value  
    printf_s("The absolute value of %lld is %lld\n", llx, llabs(llx));  
  
    // absolute 64 bit integer value  
    printf_s("The absolute value of 0x%.16I64x is 0x%.16I64x\n", wx,   
        _abs64(wx));  
  
    // Integer error cases:  
    printf_s("Microsoft implementation-specific results:\n");  
    printf_s(" abs(INT_MIN) returns %d\n", abs(INT_MIN));  
    printf_s(" labs(LONG_MIN) returns %ld\n", labs(LONG_MIN));  
    printf_s(" llabs(LLONG_MIN) returns %lld\n", llabs(LLONG_MIN));  
    printf_s(" _abs64(_I64_MIN) returns 0x%.16I64x\n", _abs64(_I64_MIN));  
}  

El valor absoluto de -4 es el valor absoluto de-41567 es 41567 el valor absoluto de-9876543210 es 9876543210 es el valor absoluto de 0xffffffffffffffff de 4 resultados de específico de la implementación de Microsoft de 0 x 0000000000000001: abs(INT_MIN) devuelve -2147483648 labs(LONG_MIN) devuelve -2147483648 llabs(LLONG_MIN) devuelve -9223372036854775808 _abs64(_I64_MIN) devuelve 0 x 8000000000000000  
  

System::Math::Abs

Conversión de datos
Compatibilidad con el punto flotante
_cabs
fabs, fabsf, fabsl
imaxabs

Mostrar: