Rand() dans c++
Résolu
mrd9991
Messages postés
224
Statut
Membre
-
mrd9991 Messages postés 224 Statut Membre -
mrd9991 Messages postés 224 Statut Membre -
Bonjour,
je suis en train de programmer en c++ avec dev-c++, et lorsque j'utilise la fonction rand() pour générer
des nombres aléatoires la valeur max (RAND_MAX)que la germe peut donner correspond au max de type short 32767, et donc je ne peut pas générer des nombres supperieure à 32767, merci de m'aider si vous connaissez une solution, à plus.
je suis en train de programmer en c++ avec dev-c++, et lorsque j'utilise la fonction rand() pour générer
des nombres aléatoires la valeur max (RAND_MAX)que la germe peut donner correspond au max de type short 32767, et donc je ne peut pas générer des nombres supperieure à 32767, merci de m'aider si vous connaissez une solution, à plus.
Configuration: Windows XP Internet Explorer 8.0
4 réponses
-
Salut,
Il n'existe pas de solutions standards. A toi de te faire la fonction.
Si RAND_MAX vaut 32767, tu sauvegardes le résultat de rand dans une variable, tu lui fais subir une rotation à droite de 15 bits et tu raditionnes avec rand.
Ce qui donne pour un long long par exemple :long long toto=rand(); toto<<=15; toto+=rand();
Cdlt -
Question con : et si tu les multiplies ?
-
salut, merci tous les deux pour vos réponses, de la manipulation je sais faire,mais ce que je voulais savoir c'est est ce que il existe une instruction (fonction , mot clé) en c++ qui permet de modifier la fonction rand(), mais sa n'existe pas. merci encore une fois, et à plus.
-
salut, merci mon ami pour votre réponse, ce que je voulais savoir si par exemple on peut faire rand(double)
pour générer directement des nombres réels peudo-aliatoires, mais je pense que ça n'existe pas, la seule methode c'est de faire de la gymnastique,et merci encore pour l'information sur srand(), et au revoir.