C++ asin()

This function is defined in <cmath> header file.


[Mathematics] sin-1x = asin(x) [In C++ Programming];

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

double asin(double x);
float asin(float x);
long double asin(long double x);
double asin (T x);

asin() Parameters

The asin() function takes a single mandatory argument in the range [-1, 1].

It is because the value of sine is in the range of 1 and -1.


asin() Return value

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

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


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

Example 1: How asin() works?

#include <iostream>
#include <cmath>

using namespace std;

int main()
{
  double x = 0.25, result;
  result = asin(x);
  
  cout << "asin(x) = " << result << " radians" << endl;
  // result in degrees
  cout << "asin(x) = " << result*180/3.1415 << " degrees" << endl;
  
  return 0;
}

When you run the program, the output will be:

asin(x) = 0.25268 radians
asin(x) = 14.4779 degrees

Example 2: asin() function with integral type

#include <iostream>
#include <cmath>
#define PI 3.141592654

using namespace std;

int main()
{
  int x = 1;
  double result;
  
  result = asin(x);
  
  cout << "asin(x) = " << result << " radians" << endl;
  // Converting result to degrees
  cout << "asin(x) = " << result*180/PI << " degrees";
  
  return 0;
}

When you run the program, the output will be:

asin(x) = 1.5708 radians
asin(x) = 90 degrees