Bonjour,

Voila mon problème, je souhaite générer un BigInteger compris entre 2^1023 et 2^1024.
Etant donné qu'il n'existe pas de méthode dans la classe BigInteger permettant de le faire je passe par deux variables min et max.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 Random rnd = new Random();
BigInteger Max = new BigInteger(1024, rnd);
BigInteger Min = new BigInteger(1023, rnd);
Pour obtenir ensuite mon BigInteger borné je calcule la difference puis je dois ensuite generer un aleatoire entre 0 et ma différence puis y ajouter le min.
Or c'est la que le probleme arrive.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
BigInteger Diff = Max.subtract(Min);
int diff = Diff.intValue();
BigInteger var = new BigInteger(diff, rnd); 
var.add(Min);
Mon erreur se situe a la création de var car Diff peut etre negatif et de plus Diff est bien trop grand pour etre exposant.

Avez vous une idée pour résoudre mon problème ?

Sachant que l'objectif final est d'estimer le nombre de nombre premier dans cette borne.
Merci d'avance.