Blog de conocimiento gratuito: linux, programación, open source, bases de datos, android, frameworks, web e informática en general.
Pi es un número que sirve para muchas cosas de matemáticas que tienen que ver con círculos o esferas. Hoy veremos cómo obtener esa constante en el lenguaje C, porque a veces viene definida pero en otras ocasiones nosotros debemos definirla.
Bueno, esta constante viene definida en el encabezado math.h
pero solamente en algunas implementaciones; es decir no podemos confiar en que esté disponible o definida través de los distintos sistemas operativos.
Este método es el que recomiendo, pues utilizamos algunas comparaciones en tiempos de precompilación. Lo que hacemos es comprobar si no existe la constante M_PI dentro de la librería math.h; en caso de que no, entonces la definimos utilizando macros.
Así de simple: de ese modo hacemos que nuestro código sea portable. Por cierto, no sé por qué se llama M_PI, supongo que por Math Pi o algo así. El punto es que lo llamamos así porque puede que ese sea su nombre en el encabezado math.h.
También podemos definir a pi como una constante global sin usar define, definiendo su valor globalmente:
Más tarde podemos usarla como cualquier otra variable (o mejor dicho, constante).
No sé mucho de matemáticas pero sé que el valor de Pi se puede obtener al calcular el coseno inverso de -1; por lo tanto podemos utilizar la función del coseno inverso (llamada acos
) y recuperar el valor que regresa al calcular el coseno de -1.
<span class="crayon-t">double</span><span class="crayon-h"> </span><span class="crayon-v">PI</span><span class="crayon-h"> </span><span class="crayon-o">=</span><span class="crayon-h"> </span><span class="crayon-e">acos</span><span class="crayon-sy">(</span><span class="crayon-o">-</span><span class="crayon-cn">1.0</span><span class="crayon-sy">)</span><span class="crayon-sy">;</span>
No olvides que para que la función esté disponible debes incluir a math.h.
Aunque no definimos a PI con mucha precisión (pusimos 20 decimales) esto no hará que nuestros cálculos fallen.
De hecho se dice que con una precisión de 39 decimales se podría calcular la circunferencia de todo el universo con una precisión menor al diámetro de un átomo de hidrógeno; así que con 20 está bien para nosotros.
Estas son las maneras de definir al número Pi en c. Recordemos que nunca debemos confiar en que las constantes estarán definidas.
Las formas que usemos dependerán de nuestros programas; si es uno simple entonces lo definimos como una constante dentro de nuestras funciones; si no, tal vez como una constante global en un encabezado.
Un pensamiento en "Constante PI en C"