Random   otázka

C#, Algoritmy

Zdravím. Mám takový dotaz.

Zajímalo by mě, jak funguje třída Random(), která generuje náhodné čísla. Zajímalo by mě, jak ty náhodné čísla generuje. Přemýšlel jsem o tom, ale nějak mě nenapadlo, jak by tohle mohlo dobře fungovat.

Jen by mě zajímal ten algoritmus...

Díky ;-)

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

Podívejte se .NET Reflectorem na třídu System.Random nebo si stáhněte referenční zdrojáky. Nevypadá to nějak zvlášť složitě, ale nechce se mi luštit jak to funguje.

nahlásit spamnahlásit spam 3 / 3 odpovědětodpovědět

Děkuji za odpověd. Díval jsem se na .NET Refactor, a ve zdrojáku té funkce jsem našel něco, čemu nerozumím. Některé int proěné jsou reprezentovány jako "0x9a4ec86". Co přesně takové elementy znamenají?

Díky

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Myslím, že jsem na to přišel... Jsou to převedená čísla z desítkové soustavy do šestnáctkové (HEX). Ted by mě ještě zajímalo, proč zrovna tyto čísla...

nahlásit spamnahlásit spam 0 odpovědětodpovědět

A kde prosím seženu ty referenční zdrojáky? Hledal jsem to, ale nějak bezcílně...

nahlásit spamnahlásit spam 0 odpovědětodpovědět

To se musí nastavit ve Visual Studiu (myslím že to nepodporují Express verze) a to si to potom dotahuje z webu podle potřeby:

http://blogs.msdn.com/b/sburke/archive/2...

V praxi to potom funguje tak, že si dáte Breakpoint na Random.Next a při krokování dovnitř se leze přímo do zdrojáku této metody.

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

Díky moc :-)

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Děkuji za dobrý typ.

OT:

díky za vaše příspěvky, trochu jsem měl obavu, jestli vás to nedávné "rozvíření vod" neodradilo :-)

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Neodradilo, pobavilo.

nahlásit spamnahlásit spam 2 / 2 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback