Saltar al contenido
Portada » Cálculo número Pi Java

Cálculo número Pi Java

El número Pi es un número irracional que aparece en multitud de ecuaciones físicas, aprende a manejarlo y calcularlo en Java.

Pi se define geométricamente como la razón entre la longitud de una circunferencia y su diámetro. Aunque la mayoría de los lenguajes de programación ya incluyen este número en forma de “constante truncada”, te enseñamos la forma de calcularlo mediante aproximaciones.

Pi en Java para copiar y pegar

Java proporciona en la clase java.lang.Math la constante Pi con el valor ajustado al sistema en el que trabajemos. Ejemplo para imprimir la constante por pantalla.

System.out.println(Math.PI);

Cálculo numero Pi en código Java

Te mostramos el código Java preparado para copiar y pegar. Con el código que te mostramos podrás calcular tantos decimales como necesites del número Pi.

	private void calcularPi(int numeroDigitos) 
	{
		MathContext mc = new MathContext(numeroDigitos);
		BigDecimal pi = new BigDecimal(0);
	    BigDecimal limite = new BigDecimal(1).movePointLeft(numeroDigitos);
	    
	    boolean fin = false;
	    
		for (int i = 0; !fin; i++)
		{
		    BigDecimal piK = funcionPi(i, mc);
		    
		    pi = pi.add(piK);
		    
		    if (piK.compareTo(limite) < 0)
		    {
		    	fin = true;
		    }
		}
		
		System.out.println(pi.round(mc));
	}
	
	private BigDecimal funcionPi(int contador, MathContext mc)
	{
		int contador8 = 8 * contador;
		
		BigDecimal val1 = new BigDecimal(4);
		val1 = val1.divide(new BigDecimal(contador8 + 1), mc);
		
		BigDecimal val2 = new BigDecimal(-2);
		val2 = val2.divide(new BigDecimal(contador8 + 4), mc);
		
		BigDecimal val3 = new BigDecimal(-1);
		val3 = val3.divide(new BigDecimal(contador8 + 5), mc);
		
		BigDecimal val4 = new BigDecimal(-1);
		val4 = val4.divide(new BigDecimal(contador8 + 6), mc);
		
		BigDecimal valor = val1;
		valor = valor.add(val2);
		valor = valor.add(val3);
		valor = valor.add(val4);
		
		BigDecimal multiplicador = new BigDecimal(16);
		multiplicador = multiplicador.pow(contador);
		
		BigDecimal one = new BigDecimal(1);
		multiplicador = one.divide(multiplicador, mc);
		valor = valor.multiply(multiplicador);
		
		return valor;
	}

Computación y número Pi

Muchos proyectos computacionales han trabajado para ir extrayendo cifras decimales de Pi. En 1949 ENIAC fue capaz de obtener 2037 cifras en 70 horas. Tras esta proeza otras supercomputadoras siguieron trabajando en sacar cifras decimales: IBM, Hitachi,…


Otros algoritmos de matemáticas

AlgoritmoDescripción
Sucesión de FibonacciAprende a programar en Java la famosa sucesión de Fibonacci
Números PrimosAlgoritmo de cálculo en Java para saber si un número es primo
FactorialCálculo del factorial de un número en Java
Número PiAprende a calcular Pi en Java
Número eNúmero e, algoritmo en Java
Raíz cuadradaDesarrollo en Java del algoritmo raíz cuadrada
Números PerfectosDetermina en Java si un número es “perfecto”
Conversión binario – hexadecimalConversor binario a hexadecimal en Java
Generación de números aleatoriosGenerar números aleatorios entre 1 y 100, ejemplos prácticos
Matrices en JavaCrea una matriz en Java y manéjala con soltura
Calculadora en JavaEjemplo sencillo para montar una calculadora en java con interfaz básica

Recursos básicos Java

AsuntoDescripción
Tutorial básico y sintaxisTutorial básico Java y sintaxis. Aprende los fundamentos del lenguaje.
Hilos (Threads)Aprende a manejar hilos y las cuestiones básicas de la concurrencia
Funciones LambdaAquí te enseñamos las nociones más importantes para arrancas con funciones lambda
PalíndromosPrograma de ejemplo para el uso de palíndromos en Java.
Máquina Virtual de JavaTe explicamos el funcionamiento de la máquina virtual de java (Java Virtual Machine – JVM)
JDK, JRE y JVMDiferencias entre el JDK, JRE y JVM.
Mejores libros Java en EspañolHazte con los mejores libros Java para aprender paso a paso y profundizar en las mejores prácticas
TensorFlowManejo del API de TensorFlow para la construcción de grafos de operaciones y su ejecución
Tutorial Log4jTutorial para el manejo de Log4j, herramienta ágil y flexible para la gestión de Logs en Java
Java SecurityEntiende y aplica las posibilidades que da Java para mantener la seguridad
Tutorial JConsoleAprende los conceptos básicos de monitorización de procesos Java con JConsole
JavaFXTutorial de JavaFX, librería gráfica moderna para construcción de GUIs en móvil, escritorio y web.
Estructuras de datos en JavaExplicación y ejemplos de las estructuras de datos más importantes: listas, pila, cola, arbol.
JavaapiConjunto de clases, interfaces, métodos y paquetes que forman parte de la plataforma Java estándar
Algoritmo HuffmanMétodo eficiente para codificar datos, asignando códigos más cortos a los caracteres más frecuentes