Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Tutto e di + - come vengono generati dei numeri casuali??
Forum - Tutto e di + - come vengono generati dei numeri casuali??

Avatar
total (Member)
Guru


Messaggi: 815
Iscritto: 16/09/2006

Segnala al moderatore
Postato alle 15:00
Venerdì, 10/12/2010
mi chiedevo come fa un compilatore a generare un numero casuale(o pseudo-casuale)... qualcuno sa come illuminarmi??

PM
Avatar
paoloricciuti (Ex-Member)
Pro


Messaggi: 137
Iscritto: 27/04/2010

Up
2
Down
V
Segnala al moderatore
Postato alle 15:17
Venerdì, 10/12/2010
Testo quotato

Postato originariamente da total:

mi chiedevo come fa un compilatore a generare un numero casuale(o pseudo-casuale)... qualcuno sa come illuminarmi??



Questo è il codice utilizzato dalla classe Random di Java:
Codice sorgente - presumibilmente C++

  1. protected int next(int bits) {
  2.         long oldseed, nextseed;
  3.         AtomicLong seed = this.seed;
  4.         do {
  5.             oldseed = seed.get();
  6.             nextseed = (oldseed * multiplier + addend) & mask;
  7.         } while (!seed.compareAndSet(oldseed, nextseed));
  8.         return (int)(nextseed >>> (48 - bits));
  9.     }



Dove this.seed è appunto il seme per crearlo (in pratica da due semi uguali verranno generati numeri uguali)

PM
Avatar
HeDo (Founder Member)
Guru^2


Messaggi: 2765
Iscritto: 21/09/2007

Up
2
Down
V
Segnala al moderatore
Postato alle 15:23
Venerdì, 10/12/2010
Testo quotato

Postato originariamente da paoloricciuti:

Dove this.seed è appunto il seme per crearlo (in pratica da due semi uguali verranno generati numeri uguali)


PM
Avatar
total (Member)
Guru


Messaggi: 815
Iscritto: 16/09/2006

Up
0
Down
V
Segnala al moderatore
Postato alle 20:50
Venerdì, 10/12/2010
Grazie... avevo già visto su wiki mi chiedevo appunto se avevate qualche altra info al riguardo... è comunque molto interessante come cosa, e ho visto che ci sono parecchi algoritmi...mi metterò a studiare... se avete qualche altra fonte o un pdf .. linkate qua sotto grazie

PM