##### cppreference.com

##### Search

Create account

##### Namespaces

- Page
- Discussion

##### Variants

##### Views

- View
- Edit
- History

##### Actions

# std::abs(float), std::fabs

From cppreference.com
< cpp‎ | numeric‎ | math

Defined in header `<cmath>` |  |
float abs( float arg ); | (1) |
double abs( double arg ); | (2) |
long double abs( long double arg ); | (3) |
float fabs( float arg ); | (4) |
double fabs( double arg ); | (5) |
long double fabs( long double arg ); | (6) |
double fabs( Integral arg ); | (7) | (since C++11)

1-6) Computes the absolute value of a floating point value `arg`.
7) A set of overloads or a function template for all combinations of arguments of arithmetic type not covered by 4-6). If any argument has integral type, it is cast to double. If any other argument is long double, then the return type is long double, otherwise it is double.

### [edit] Parameters

arg | - | Value of a floating-point or Integral type

### [edit] Return value

If successful, returns the absolute value of `arg` (`|arg|`). The value returned is exact and does not depend on any rounding modes.

### [edit] Error handling

This function is not subject to any of the error conditions specified in math_errhandling

If the implementation supports IEEE floating-point arithmetic (IEC 60559),

- If the argument is ±0, +0 is returned
- If the argument is ±∞, +∞ is returned
- If the argument is NaN, NaN is returned

### [edit] Example

Run this code

    #include <iostream>
    #include <cmath>

    int main()
    {
        std::cout << "abs(+3.0) = " << std::abs(+3.0) << '\n'
                  << "abs(-3.0) = " << std::abs(-3.0) << '\n';
        // special values
        std::cout << "abs(-0.0) = " << std::abs(-0.0) << '\n'
                  << "abs(-Inf) = " << std::abs(-INFINITY) << '\n';
    }

Possible output:

    abs(+3.0) = 3
    abs(-3.0) = 3
    abs(-0.0) = 0
    abs(-Inf) = inf

### [edit] See also

abs(int)labs llabs (C++11) | computes absolute value of an integral value (|x|) (function) [edit]
copysign (C++11) | copies the sign of a floating point value (function) [edit]
signbit (C++11) | checks if the given number is negative (function) [edit]
abs(std::complex) | returns the magnitude of a complex number (function template) [edit]
abs(std::valarray) | applies the function std::abs to each element of valarray (function template) [edit]
C documentation for fabs

Retrieved from "http://en.cppreference.com/mwiki/index.php?title=cpp/numeric/math/fabs&oldid=71300"