Question J'ai besoin d'une solution pour la limitation de Java dans le calcul et le stockage de gros nombres


en python avec une boucle simple, vous pouvez calculer, disons 600! c'est un très grand nombre, mais python peut facilement s'en occuper en une fraction de seconde. 200 chiffre long. Dans java, d'autre part, vous êtes lié à des littéraux 64 bits (type de données long). donc la machine retournera 0.
Y a-t-il un moyen de surmonter cela?


25
2017-07-30 08:14


origine


Réponses:


Vous pouvez utiliser le Java BigInteger classe.

Et un exemple simple:

import java.math.BigInteger;

BigInteger k = BigInteger.valueOf(10000L);
k = k.pow(10000);
//k is now 10000^10000 
System.out.println(k.toString());

Il est important de savoir que la classe est immuable. Vous pouvez également regarder dans le même BigDecimal classe pour une précision arbitraire signée des nombres décimaux.


50
2017-07-30 08:15