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.

Pi en C

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.

Utilizando math.h o definiendo la nuestra

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.

Definiendo pi como constante

También podemos definir a pi como una constante global sin usar define, definiendo su valor globalmente:

Más tarde podemos

Pi en C utilizando coseno inverso

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.

No olvides que para que la función esté disponible debes incluir a math.h.

Sobre la precisión

Aunque no definimos a PI con mucha precisión (pusimos 20 decimales) esto no hará que nuestros cálculos fallen. De hecho dicen 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.

Fuente aquí.

Conclusión

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.

No te vayas sin seguirme en Twitter, Facebook y GitHub, así me motivas a escribir más posts.
Igualmente te invito a suscribirte en la parte superior derecha escribiendo tu correo en el formulario.
Si tienes dudas déjalas en un comentario


parzibyte

He trabajado por más de 4 años en el desarrollo de software con experiencia en Java, PHP, JavaScript, HTML, Node.JS, Python, Android y Go. También he trabajado con bases de datos SQL como MySQL y SQLite, así como con bases de datos NoSQL usando MongoDB. Soy bueno utilizando algunos frameworks y herramientas como Firebase, jQuery, AngularJS, VueJS, CodeIgniter, Laravel, BulmaCSS, Bootstrap y Electron. Otros términos que conozco son: Arduino, GraphQL, API's, REST, AJAX, PouchDB, CouchDB, Experiencia de usuario, buenas prácticas de programación, Webpack, NPM, Administración de servidores y programación de scripts La plataforma en la que tengo más experiencia es la web, pero en mis ratos libres realizo unos pequeños ejercicios en C# y C. Estoy aquí para ayudarte a resolver tus problemas de programación y depuración :-)

1 Comment

Algoritmo para calcular el volumen de una esfera en C - Parzibyte's blog · noviembre 21, 2018 a las 12:19 pm

[…] en C que calcule el volumen de una esfera utilizando funciones matemáticas. Para ello usaremos la constante Pi, así como la función pow para elevar un número en […]

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

A %d blogueros les gusta esto: