Avez-vous des algorithmes pour la génération de nombre aléatoire?
Rigel Io
Messages postés11Date d'inscriptionsamedi 17 janvier 2004StatutMembreDernière intervention29 octobre 2012
-
3 juin 2004 à 22:08
cs_pjb
Messages postés19Date d'inscriptionvendredi 13 août 2004StatutMembreDernière intervention17 août 2004
-
13 août 2004 à 16:50
Salut, ma question est donc assez simple je voudrai seuleument savoir comment générer des nombres aléatoires. Je voudrai savoir car à chaque fois que j'ai besoin de faire cela, j'utilises rand et toute ces fonctions. Mais comment fonctionnent-t-elle?
Merci de répondre à ma curiosité.
Rigel-IO
A voir également:
Avez-vous des algorithmes pour la génération de nombre aléatoire?
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 4 juin 2004 à 01:17
exemple en pseudo code:
valeur a conserver, on init au cas ou user ne le ferait pas:
seedRand DD 0FFFFFFFF
tu fais un srand (init alea) avec un param
srand PROC ; param int dans EAX
; ici tu lui fais subir ce que tu veux puis:
mov seedRand, eax
ret 0
srand ENDP
rand PROC ; AUCUN PARAM
mov eax, seedRand
; triture bien ton EAX
mov seedRand, eax ; on conserve de nouveau
; on secoue encoore un peu valeur avant retour
; et on la donne dans EAX comme normal
ret 0
rand ENDP
Rigel Io
Messages postés11Date d'inscriptionsamedi 17 janvier 2004StatutMembreDernière intervention29 octobre 2012 4 juin 2004 à 22:50
Je suis désolé BruNews mais tu n'as pas répondu à ma question car j'ai demandé justement comment faire un code pour générer des nombres aléatoires sans utiliser de fonction randomize ou autre. Je voudrais savoir que représente (en algo ou en code) ces fonctions.
Merci quand même d'avoir essayé, si tu as la réponses donne la moi, merci. :)
cs_pjb
Messages postés19Date d'inscriptionvendredi 13 août 2004StatutMembreDernière intervention17 août 2004 13 août 2004 à 16:50
salut !
une manière très simple de créer un moteur pseudo aléatoire est d'utiliser un timer de la carte-mère (très facile en mode réel via les interruptions... --> vas sur le net...)
en effet, ce dernier "compte" tellement vite que lorsque tu appeleras une fonction utilisant le timer tu obtiendras un nombre quasi-aléatoire, à condition que se soit toi qui provoque l'appel de cette fonction (par ex. en pressant une touche, ou après avoir tapé du texte ac. un scanf...)
j'espère que j'ai répondu à ta question..., mais vas sur le net y'a des milliers de sites consacrés à ce sujet...
@+