Sdílet prostřednictvím


abs, _abs64

Vypočítá absolutní hodnotu.

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
__int64 _abs64( 
   __int64 n 
);

Parametry

  • n
    Hodnota typu Integer.

Vrácená hodnota

Funkce abs vrátí absolutní hodnotu parametru.Není vrácena žádná chyba.

Poznámky

Protože jazyk C++ umožňuje přetížení, můžete volat přetížení abs, která používají a vrací hodnoty long, long long, float, double a long double.V programu v jazyce C abs vždy převezme a vrátí int.

Specifické pro Microsoft

Protože oblast záporných celých čísel, která lze znázornit pomocí jakéhokoli integrálního typu, je větší než rozsah kladných celých čísel, která lze znázornit pomocí tohoto typu, je možné zadat argument do abs, které nelze převést.Pokud absolutní hodnota argumentu nemůže být reprezentována návratovým typem, funkce abs vrátí nezměněnou hodnotu argumentu.Konkrétně abs(INT_MIN) vrací INT_MIN, labs(LONG_MIN) vrací LONG_MIN, llabs(LLONG_MIN) vrací LLONG_MIN a _abs64(_I64_MIN) vrací _I64_MIN.To znamená, že funkce abs nelze použít k zajištění kladné hodnoty.

Specifické pro End Microsoft

Požadavky

Rutina

Požadované záhlaví

abs

<math.h>

_abs64

<stdlib.h>

Příklad

Tento program vypočítá a zobrazí absolutní hodnoty několik čísel.

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

Ekvivalent v rozhraní .NET Framework

System::Math::Abs

Viz také

Referenční dokumentace

Převod dat

Podpora plovoucí desetinné čárky

_cabs

fabs, fabsf

labs, llabs

imaxabs