abs, labs, llabs, _abs64abs, labs, llabs, _abs64

Calcola il valore assoluto dell'argomento.Calculates the absolute value of the argument.

SintassiSyntax

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   
);  

ParametriParameters

n
Valore numerico.Numeric value.

Valore restituitoReturn Value

Le funzioni abs, labs, llabs e _abs64 restituiscono il valore assoluto del parametro n.The abs, labs, llabs and _abs64 functions return the absolute value of the parameter n. Non vi è restituzione di errori.There is no error return.

NoteRemarks

Poiché C++ consente l'overload, è possibile chiamare gli overload di abs che accettano e restituiscono valori long, long long, float, double e long double.Because C++ allows overloading, you can call overloads of abs that take and return long, long long, float, double, and long double values. Questi overload sono definiti nell'intestazione <cmath>.These overloads are defined in the <cmath> header. In un programma C, abs accetta e restituisce sempre un valore int.In a C program, abs always takes and returns an int.

Sezione specifica MicrosoftMicrosoft Specific

Poiché l'intervallo di interi negativi che possono essere rappresentati usando qualsiasi tipo integrale è maggiore dell'intervallo di interi positivi che possono essere rappresentati usando lo stesso tipo, è possibile fornire a queste funzioni un argomento che non può essere convertito.Because the range of negative integers that can be represented by using any integral type is larger than the range of positive integers that can be represented by using that type, it's possible to supply an argument to these functions that can’t be converted. Se il valore assoluto dell'argomento non può essere rappresentato dal tipo restituito, le funzioni abs restituiscono il valore dell'argomento non modificato.If the absolute value of the argument cannot be represented by the return type, the abs functions return the argument value unchanged. In particolare, abs(INT_MIN) restituisce INT_MIN, labs(LONG_MIN) restituisce LONG_MIN, llabs(LLONG_MIN) restituisce LLONG_MIN e _abs64(_I64_MIN) restituisce _I64_MIN.Specifically, abs(INT_MIN) returns INT_MIN, labs(LONG_MIN) returns LONG_MIN, llabs(LLONG_MIN) returns LLONG_MIN, and _abs64(_I64_MIN) returns _I64_MIN. Ciò significa che le funzioni abs non possono essere usate per garantire un valore positivo.This means that the abs functions cannot be used to guarantee a positive value.

Fine sezione specifica MicrosoftEnd Microsoft Specific

RequisitiRequirements

RoutineRoutine Intestazione C obbligatoriaRequired C header Intestazione C++ obbligatoriaRequired C++ header
abs, labs, llabsabs, labs, llabs <math.h> o <stdlib.h><math.h> or <stdlib.h> <cmath>, <cstdlib>, <stdlib.h> o <math.h><cmath>, <cstdlib>, <stdlib.h> or <math.h>
_abs64 <stdlib.h><stdlib.h> <cstdlib> o <stdlib.h><cstdlib> or <stdlib.h>

Per usare le versioni di overload di abs in C++, è necessario includere l'intestazione <cmath>.To use the overloaded versions of abs in C++, you must include the <cmath> header.

EsempioExample

Questo programma calcola e visualizza i valori assoluti di diversi numeri.This program computes and displays the absolute values of several numbers.

// 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));  
}  
The absolute value of -4 is 4  
The absolute value of -41567 is 41567  
The absolute value of -9876543210 is 9876543210  
The absolute value of 0xffffffffffffffff is 0x0000000000000001  
Microsoft implementation-specific results:  
 abs(INT_MIN) returns -2147483648  
 labs(LONG_MIN) returns -2147483648  
 llabs(LLONG_MIN) returns -9223372036854775808  
 _abs64(_I64_MIN) returns 0x8000000000000000  

Vedere ancheSee Also

Data Conversion (Conversione dei dati)Data Conversion
Floating-Point Support (Supporto delle funzioni a virgola mobile)Floating-Point Support
_cabs _cabs
fabs, fabsf, fabsl fabs, fabsf, fabsl
imaxabsimaxabs