Forum » Znanost in tehnologija » random pri računalniku/kalkulatorju...
random pri računalniku/kalkulatorju...
Budd ::
Mene samo zanima, po kakšni poti se izračuna "random"...
Recimo, da imaš na kalkulatorju možnost prikaza naključne številke od 1-10.
Verjamem, da obstaja več različnih metod, pri katerih so rezultati bolj ali manj podobni pravemu randomu. Torej, kater postopek bi bil "najbolši" in ali je res rezultat 100% odvisen od trenutka (časa) ko sprožiš izračun "random" cifre
Recimo, da imaš na kalkulatorju možnost prikaza naključne številke od 1-10.
Verjamem, da obstaja več različnih metod, pri katerih so rezultati bolj ali manj podobni pravemu randomu. Torej, kater postopek bi bil "najbolši" in ali je res rezultat 100% odvisen od trenutka (časa) ko sprožiš izračun "random" cifre
hamax ::
Kot si omenil je to odvisno od programa.
Programski jezik java dela random nekako tako:
Programski jezik java dela random nekako tako:
//nastavi seme za izracun randoma. Kot vidis vzame za osnovo cas.
seed = (System.currentTimeMillis() ^ 0x5DEECE66DL) & ((1L << 48) - 1);
int next(int bits) { //funkcija vrne poljubno stevilo random bitov
//izracuna nov seed
seed = (seed * 0x5DEECE66DL + 0xBL) & ((1L << 48) - 1);
//in vrne zeljene bite
return (int) (seed >>> (48 - bits));
}
Zgodovina sprememb…
- spremenil: hamax ()
Budd ::
kul, torej bi v tem primeru mogu sam dodelat program, da požene izračun randoma v točno določeni milisekundi in bi dobil vsakič enako vrednost?
al je še kej dodatnega, kar sem spregledu? =o
drugače me pa ne zanima napovedovanje izmerjene vrednosti, sam vedet sm hotu al je vse odvisno od časa
al je še kej dodatnega, kar sem spregledu? =o
drugače me pa ne zanima napovedovanje izmerjene vrednosti, sam vedet sm hotu al je vse odvisno od časa
hamax ::
Ja, pri javi je vse odvisno od casa, ce sam ne nastavis zacetnega seeda.
V linuxu imas za random se dve napravi. /dev/random, ki generira "pravi" random na podlagi vhodov iz zunanjih naprav(miska, tipkovnica, ...) in /dev/urandom, ki iz tega pravega randoma generira pseudo random(podobno kot java to pocne iz casa).
Za ostale programe in programske jezike bo pa kdo drug povedal.
V linuxu imas za random se dve napravi. /dev/random, ki generira "pravi" random na podlagi vhodov iz zunanjih naprav(miska, tipkovnica, ...) in /dev/urandom, ki iz tega pravega randoma generira pseudo random(podobno kot java to pocne iz casa).
Za ostale programe in programske jezike bo pa kdo drug povedal.
Vredno ogleda ...
| Tema | Ogledi | Zadnje sporočilo | |
|---|---|---|---|
| Tema | Ogledi | Zadnje sporočilo | |
| » | Vprašanje v zvezi z rand() funkcijoOddelek: Programiranje | 6023 (5213) | fireice |
| » | Matrix multiplication program Pycuda in MathlabOddelek: Programiranje | 2830 (2405) | Senitel |
| » | [C] generator naključnih številOddelek: Programiranje | 3658 (3176) | Thomas |
| » | Ustavljivost linearno omejenih avtomatov (strani: 1 2 )Oddelek: Znanost in tehnologija | 5699 (5213) | Matevžk |
| » | vaša sintaksa pri programiranju (strani: 1 2 )Oddelek: Programiranje | 7433 (5236) | Thomas |