C++ acos()

This function is defined in <cmath> header file.


[Mathematics] cos-1x = acos(x) [In C++ Programming];

acos() prototype [As of C++ 11 standard]

double acos(double x);
float acos(float x);
long double acos(long double x);
double acos (T x); // For integral type

acos() Parameters

The acos() function takes a single mandatory argument in the range [-1, 1]. It is because the value of cosine is in the range of 1 and -1.


acos() Return value

Given that the argument is in the range [-1, 1], the acos() function returns the value in the range of [0, π].

If the argument is greater than 1 or less than -1, acos() returns NaN i.e. not a number.

Parameter (x) Return Value
x = [-1, 1] [0, π] in radians
-1 > x or x > 1 NaN (Not a Number)

Example 1: How acos() works?

#include <iostream>
#include <cmath>

using namespace std;

int main()
{
  double x = 0.0, result;

  result = acos(x);
  cout << "acos(x) = " << result << " radians" << endl;
  
  // result in degrees
  cout << "acos(x) = " << result*180/3.1415 << " degrees" << endl;
  
  return 0;
}

When you run the program, the output will be:

acos(x) = 1.5708 radians
acos(x) = 90.0027 degrees

Example 2: acos() function with integral type

#include <iostream>
#include <cmath>

using namespace std;

int main()
{
  int x = -1;
  double result;

  result = acos(x);
  
  cout << "acos(x) = " << result << " radians" << endl;
  // Converting result to degrees
  cout << "acos(x) = " << result*180/3.1415 << " degrees";
  
  return 0;
}

When you run the program, the output will be:

acos(x) = 3.14159 radians
acos(x) = 180.005 degrees
Did you find this article helpful?