¿Cómo haría los cálculos con números extremadamente grandes en Java?
Lo he intentado, longpero alcanza un máximo de 9223372036854775807, y cuando utilizo un número entero no guarda suficientes dígitos y, por lo tanto, no es lo suficientemente preciso para lo que necesito.
¿Hay alguna forma de evitar esto?
java
numbers
integer
biginteger
Petey B
fuente
fuente

9223372036854775807es el valor exacto deLong.MAX_VALUE, de todos modos.Respuestas:
Puede usar la
BigIntegerclase para enteros yBigDecimalpara números con dígitos decimales. Ambas clases están definidas enjava.mathpaquete.Ejemplo:
fuente
Utilice la
BigIntegerclase que forma parte de la biblioteca de Java.http://java.sun.com/j2se/1.5.0/docs/api/java/math/BigInteger.html
fuente
Aquí hay un ejemplo que obtiene grandes números muy rápidamente.
fuente
Checkout
BigDecimalyBigInteger.fuente
fuente
Dependiendo de lo que esté haciendo, es posible que desee echar un vistazo a GMP (gmplib.org), que es una biblioteca de precisión múltiple de alto rendimiento. Para usarlo en Java, necesita envoltorios JNI alrededor de la biblioteca binaria.
Vea algunos de los códigos de Alioth Shootout para ver un ejemplo de cómo usarlo en lugar de BigInteger para calcular Pi a un número arbitrario de dígitos.
https://benchmarksgame-team.pages.debian.net/benchmarksgame/program/pidigits-java-2.html
fuente