J'ai un problème que je n'arrive pas à résoudre. Je génère aléatoirement des nombres afin de déterminer si mes nombres sont la relativité prime.Exception en virgule flottante provoquée par rand() En C++
Voici la fonction qui me donne un point flottant Exception:
bool modularExponentiationTest(unsigned long long exponent, unsigned long long modulus)
{
short index = 0;
unsigned long long base;
unsigned long long result;
do
{
result = 1;
base = rand() % exponent; // <--CAUSED BY THIS
while (exponent > 0)
{
if (exponent & 1)
result = (result * base) % modulus;
exponent >>= 1;
base = (base * base) % modulus;
}
if (result != 1)
return false;
}while(++index < 10);
return true;
}
Je l'ai graines au hasard dans une autre fonction en procédant comme suit:
srand(time(NULL));
Merci beaucoup pour votre aide !
Quelle « exception à virgule flottante » est généré? –