Selected Reading

C++ cmath fabs() Function



The C++ cmath fabs() function computes the absolute value of a floating-point number. The absolute value of a number is its distance from zero on the number line, without considering direction. This means that negative numbers become positive, while positive numbers and zero remain the same.

It accepts a single parameter of type float, double, or long double and returns the absolute (positive) value of that number with the same type. This function is commonly used in general mathematical operations where negative values need to be converted to their positive equivalents.

Syntax

Following is the syntax for C++ cmath fabs() function.

double fabs(double x);
or
float fabs(float x);
or
long double fabs(long double x);

Parameters

  • x - The value whose absolute value is to be computed.

Return Value

The function returns the absolute value of the given number as a floating-point value.

Time Complexity

The time complexity of this function is constant, i.e.,O(1).

Example 1

The following example, demonstrate the basic absolute value calculation using fabs() function.

#include <iostream>
#include <cmath>
int main() {
   double num = -25.6;
   std::cout << "Absolute value of " << num << " is: " << std::fabs(num) << std::endl;
   return 0;
}

Output

Output of the above code is as follows

Absolute value of -25.6 is: 25.6

Example 2

This example illustrates, that fabs() correctly handles zero, returning 0.0 when the input is 0.

#include <iostream>
#include <cmath>
int main() {
   double x = 0.0;
   double result = fabs(x);
   std::cout << "fabs(0.0) = " << result << std::endl;
   return 0;
}

Output

If we run the above code it will generate the following output

fabs(0.0) = 0

Example 3

Let's take a real time scenario, finding the magnitude of changes in environmental measurements by using fabs(), ignoring whether the change was an increase or decrease.

#include <iostream>
#include <cmath>
int main() {
   float temperature_difference = -3.2f;
   float humidity_difference = 4.7f;
   
   float temp_magnitude = std::fabs(temperature_difference);
   float humidity_magnitude = std::fabs(humidity_difference);
   
   std::cout << "Temperature change magnitude: " << temp_magnitude << "C" << std::endl;
   std::cout << "Humidity change magnitude: " << humidity_magnitude << "%" << std::endl;
   return 0;
}

Output

Following is the output of the above code

Temperature change magnitude: 3.2C
Humidity change magnitude: 4.7%
cpp_cmath.htm
Advertisements