C++ acos()

The acos() function in C++ returns the inverse cosine of a number (argument) in radians.

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```