Search code examples
c++mathtrigonometry

Conversion from radians to degrees


I am trying to do a simple trigonometric calculation in C++. The following is an example of the problem I am having with this. As far as I know, C++ works in radians, not degrees. So conversion from radians to degrees should be a simple case of multiplying by 180 and dividing by pi. A simple test is tan(45), which should equate 1. The following program produces a value of 92.8063 however...

#include <iostream>
using namespace std;

#include <math.h>

int main(){
    double a,b;
    a = tan(45);
    b = a * 180 / 3.14159265;
    cout << b;
    return 0;
}

What is wrong?


Solution

  • You're doing it backwards. Don't apply the formula to the output of tan, apply it to the parameter.

    Also you'll want to multiply by pi and divide by 180, not vice versa.