Conversion from radians to degrees

Matt picture Matt · Jun 9, 2011 · Viewed 75.4k times · Source

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?

Answer

Mark Ransom picture Mark Ransom · Jun 9, 2011

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.