Hoppa till innehåll

Rekommendera inlägg

Skrivet

Jag har en fråga av ren nyfikenhet.

Hur genererar datorer slumpmässiga tal?

 

Vad jag har märkt av programmering är att den är mycket "straight-forward" och slumpmässiga tal skulle vara omöjligt...

Skrivet

I c++ och funktionen srand så tar den antalet sekunder sen nyår 1989, eller nåt sånt...

Vet inte riktigt hur java kör med sin math.random funktion, men lär vara nåt liknande..

Skrivet

Det är oftast genom tid eftersom det hela tiden ändras och då är bra att använda. Det är inte mycket annat i datorn som hela tiden uppdateras. Uptime möjligtvis, men även det är ju en typ av tid. Bara att man räknar från ett annat datum.

Skrivet

antagligen genererar maskinen "random" genom att använda den interna klockan, de flesta konsoller har ju en sån, och lär då också köra på samma...

Skrivet

Det finns inga slumpmässiga tal.

Jag vet <_<

 

Men jag vill veta hur de "slumpmässiga" talen genereras...

 

Det kallas Pseudorandom. pseudoslumpmässiga tal. Alltså, de försöker låtsas vara slumpmässiga.

 

Det finns olika sätt att generera slupmässiga tal. Man kan ha en lång lista med tal.

 

321874543989844364564565

498454543446654645745745

432548596404305435605656

...

 

Sedan väljer man ett tal baserat på tiden som gått sedan vad det nu är... Ngt konstigt årtal.

 

Då får man ett tal som typ 568936879064335689896443445. Problemet är att man oftast inte behöver ett så stort tal... Därför kan man använda modulo.

 

rand() % 20 ger ett tal mellan 0 och 19. (Endast heltal, då det är restberäkning.)

 

Han menar att om man känner till systemet så kan man tajma det numret som han vill ha.
Inte så lätt... Det är ofta inte bara tid utan även annat som räknas med. T.ex. att två tal inte ska komma i rad (alltså är det inte så nära random...).

Gå med i konversationen

Du kan skriva nu och registrera dig senare. Om du har ett konto, logga in nu för att posta med ditt konto.

Gäst
Svara på det här ämnet...

×   Klistrade in som rich text.   Klistra in som vanlig text istället

  Endast 75 emojis är tillåtet.

×   Din länk har automatiskt inbäddats.   Visa som en länk istället

×   Ditt tidigare innehåll har återställts.   Rensa redigeraren

×   Du kan inte klistra in bilder direkt. Ladda upp eller infoga bilder från URL.

×
  • Skapa ny...