begin process at 2010 03 20 04:43:14
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Assembleur

 > 

Archives

 > 

c, c++ et asm

 > 

Avez-vous des algorithmes pour la génération de nombre aléatoire?


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Avez-vous des algorithmes pour la génération de nombre aléatoire?

jeudi 3 juin 2004 à 22:08:17 | Avez-vous des algorithmes pour la génération de nombre aléatoire?

Rigel Io

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
vendredi 4 juin 2004 à 01:17:53 | Re : Avez-vous des algorithmes pour la génération de nombre aléatoire?

BruNews

Administrateur CodeS-SourceS
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

ciao...
BruNews, Admin CS, MVP Visual C++
vendredi 4 juin 2004 à 22:50:06 | Re : Avez-vous des algorithmes pour la génération de nombre aléatoire?

Rigel Io

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.

Rigel-IO
vendredi 4 juin 2004 à 23:15:10 | Re : Avez-vous des algorithmes pour la génération de nombre aléatoire?

BruNews

Administrateur CodeS-SourceS
Exemple tire d'un truc perso, sans appel d'une func rand (ou autre nom peu importe), alea est fait pendant une boucle de remplissage:

sub esp, 4 ; seedRand
rdtsc ; remplit EAX
mov [esp], eax ; sauve seedRand
lea ebx, [edi+ebx*4] ; adresse out pour array
fillArray:
mov eax, 214013
mul dword ptr[esp]
add eax, 2531011
mov [esp], eax ; sauve seedRand
mov ecx, offset szbuff
and eax, 07FFFh
; suite de mon bouclage perso
; qui remplit une lisbox

tu regardes rand, random ou autre mot de ce genre par google et tu trouveras toute une litterature sur ce sujet.

ciao...
BruNews, Admin CS, MVP Visual C++
samedi 5 juin 2004 à 12:58:03 | Re : Avez-vous des algorithmes pour la génération de nombre aléatoire?

patatalo

Membre Club Administrateur CodeS-SourceS
salut,

en voila un autre tiré d'un code trouvé sur le net, je me rappelle plus l'auteur, je l'ai modifié afin de pouvoir avoir une valeur max.

initRand MACRO
call GetTickCount
mov [nRand],eax
ret
ENDM

.DATA?
nRand dd ?
.CODE
genNumber PROC USES EBX ESI Max:DWORD
mov ecx,[nRand]
mov edx,[nRand]
not ecx
and ecx,3
mov ebx,edx
lea esi,[ecx*8+8]
@@:
mov ecx,ebx
and ecx,1fh
mov eax,ebx
ror edx,cl
rol eax,cl
neg edx
lea ebx,[eax-1]
xor edx,ebx
dec esi
jne @B
xor eax,eax
mov [nRand],edx
xchg eax,edx
idiv Max
mov eax,edx
ret
genNumber ENDP

@++
vendredi 13 août 2004 à 16:50:50 | Re : Avez-vous des algorithmes pour la génération de nombre aléatoire?

pjb

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...
@+


Cette discussion est classée dans : nombre, aléatoire, génération, teal, algorithmes


Répondre à ce message

Sujets en rapport avec ce message

nombre aléatoire en asm 16f84 [ par sodhaine ] Bonjour,Je suis un newbie-moyen en assembleur/électronique; j'essaie de faire un dé électronique en assembleur 16f84 (avec affichage sur écran LCD) e Tronquer un nombre [ par leclair2000 ] Bonjour!J'aimerais savoir comment on doit s'y prendre pour tronquer un nombre en assembleur?ex : 5.12345 -> 5.12Merci d'avance [NEWBIE] Petit Probleme ! Aidez moi ! [ par xaminou ] Voila , jaimerai cree une fonction qui calcule la suite suivante :Xn+1=Xn + (Xn2 or 5) qui prend en paramètre (dans la pile) l'adresse d'un nombre Xn Afficher un nombre [ par MaxSoldier ] Bonjours, je voudrais afficher un nombre mais j'ai toujours des erreur : J'ai donc 2 questions : Comment déclarer une variable qui contiendra des nomb Sauvegarde d'un nombre [ par clad10 ] Bonsoir, Je cherche en fait, dans un programme en asm, a rentrer un nombre au clavier et qu'il soit considerer comme une valeur. par exemple, si je r Ecrire et lire des nombre decimaux depuis un fichier binaire [ par VBFRANCE ] Bonjour,   Quelqu’un pourrait-il m’aider, je souhaite écrire des REAL4 (en fait des GL_float) dans un fichier et avoir la possibilité de relire ce fic Afficher un nombre conteu dans un registre [ par RootASM ] bonjour,J'aimerais afficher le nombre de caractere d'un chaine de caractere mais je ne sais pas comment m'y prendre. Sur le site il y a des messages m algorithmes pour effets de voix [ par ozexperience ] bonjour jai realise un dsp laide dun microcontrolleur 8051 que je programme en asm et jaurai voulut savoir si qqun avait des algorithmes pour faire de impaire/paire [ par longchamp ] bonjour,je voudrai écrire un petit programme simple en assembleur qui permet d'enregistrer une valeur ,de compter le nombre de 1 et de 0 dans son écri pour créer 3 algorithmes [ par vinoth150 ] bonjour j'ai besoin d'aide pour créer 3 alogorithme que j'ai essayé de les faire mé je n'ai pas reussi donc j'espere que vous pourrriez m'aider. voila


Nos sponsors


Sondage...

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,515 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales