Salut, j'ai effectuer une boucle qui recherche quel est la plus grande puissance de deux qu'il faut pour représenter un nombre en base deux.
Code cpp : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 BigInt BigInt::genPrime(unsigned int nbBits, unsigned int base) { BigInt p; BigInt tmp; BigInt two(2, true, base); BigInt exp(0, true, base); p = genRandom(nbBits, base); while(p > two.pow(exp)) { std::cout<<"p : "<<p<<std::endl<<"exp : "<<two.pow(exp)<<" > ? "<<(p > two.pow(exp))<<std::endl; std::string s; std::cin>>s; exp+=1; } }
Mais ma boucle while ne fonctionne pas, le programme ne sort jamais de la boucle while et pourtant à un moment donné ma condition devient bien fausse vu que il m'affiche bien 0 pour (p > two.pow(exp)).
Bon là à part un problème de compilo, je ne vois pas du tout ce que ça pourrait être.
Partager