En este post de programación vamos a ver el tema de la conversión entre radianes y grados en C. Es decir, veremos cómo convertir desde grados a radianes, y de radianes a grados.
Básicamente vamos a aplicar las fórmulas matemáticas pero ahora con código.
Explicación del algoritmo
Vamos a aplicar las dos fórmulas que dicen:
- Radianes = Grados * PI / 180
- Grados = Radianes * 180 / PI
Así que necesitaremos a PI en C.
De radianes a grados
La función queda así:
double radianesAGrados(double radianes)
{
return radianes * 180 / PI;
}
Este método recibe los radianes y devuelve los grados.
Conversión de grados a radianes
El método inverso queda así:
double gradosARadianes(double grados)
{
return grados * PI / 180;
}
Conversión entre grados y radianes en C
Es momento de resumir y mostrar el código completo. En este caso estamos convirtiendo valores proporcionados por nosotros, aunque bien podríamos solicitarlos al usuario usando scanf
.
/*
https://parzibyte.me/blog
*/
#include <stdio.h>
#define PI 3.14159265358979323846
double gradosARadianes(double grados)
{
return grados * PI / 180;
}
double radianesAGrados(double radianes)
{
return radianes * 180 / PI;
}
int main()
{
// Probar. 1 radián equivale a 57.2958 grados
double radianes = 1;
double convertidosAGrados = radianesAGrados(radianes);
printf("%.4f radianes equivalen a %.4f grados\n", radianes, convertidosAGrados);
// Y lo inverso
double grados = 57.2958;
double convertidoARadianes = gradosARadianes(grados);
printf("%.4f grados equivalen a %.4f radianes\n", grados, convertidoARadianes);
return 0;
}
Fíjate en la consola, los valores son correctos. Si quieres puedes usar un conversor de tu confianza para comprobar que los datos arrojados son correctos.
Si te interesa el lenguaje C, te invito a ver otros artículos sobre este lenguaje en el blog de Parzibyte.
Hola,
En la explicación del algoritmo hay un error. Has puesto:
– Radianes = Grados * PI / 189
Debería ser 180.
De todas formas en el código está bien puesto.
Un saludo.
Hola. Muchas gracias por hacérmelo notar, se me pasó. Ya está corregido
Saludos! 🙂