6 votos

Calcular $\pi$ en una base arbitraria, con una precisión arbitraria

Necesito calcular $\pi$ -- en base: 4, 12, 32 y 128 -- a un número arbitrario de dígitos. (Es para un amigo artista).

Recuerdo la serie Taylor y he encontrado varias "Fórmulas "BBP pero hasta ahora, nada que apunte a calcular los dígitos en bases arbitrarias.

¿Cómo se puede hacer esto de manera práctica?

6voto

John Fouhy Puntos 759

Existe una célebre fórmula (¿tal vez BBP?) que permite calcular un dígito hexadecimal arbitrario de la expansión de $\pi$ . Eso se encarga de las bases $4,32,128$ .

Ahora bien, cualquier otra fórmula que se utilice para calcular $\pi$ en decimal, realmente calcula $\pi$ en binario, convirtiendo el resultado en decimal mediante el sencillo algoritmo de conversión de bases. Así que puedes utilizar cualquier fórmula antigua, por ejemplo, la de arco-tangente.

Por último, es probable que haya en algún lugar de la web una ampliación de $\pi$ a billones de dígitos binarios. Además, probablemente alguien escribió un programa que convierte de binario a una base arbitraria. Así que todo lo que necesitas hacer es encontrar estos y conectarlos.

1voto

Gudmundur Orn Puntos 853

Hay muchos algoritmos que pueden calcular pi, o bien hay muchas aproximaciones suficientemente precisas de pi (con un número arbitrario de decimales). Creo que la forma más fácil sería simplemente tomar el valor conocido y cubrirlo con un método de conversión de bases, en lugar de calcularlo independientemente en cada uno.

1voto

Simon D Puntos 1414

Por lo general, se calcula pi, y luego se convierte en la base del objetivo.

   3:16E8 E212,7796 7998,5967 5292,6847 6661,9725 5723         base 120
   3.141 592 653,589 793 238,462 643 383,279 502 884,197       base 10

Esta es una implementación en rexx, que encuentra pi hasta tantos dígitos en decimal, base 120, y cualquier base nombrada.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X