Avatar billede PseudoFrag Nybegynder
27. november 2009 - 15:44 Der er 1 kommentar og
2 løsninger

Hvordan virker rand() og array_rand()?

Jeg er ved at skrive en længere rapport om generering af sudoku og programmet benytter random funktioner i stor stil og jeg er derfor nød til at beskrive hvordan radn og array rand funktionen er opbygget. Jeg har gennemsøgt web og har desværre ikke kunne finde nogen documentation over hvilke algoritmer funktionerne benytter.

Ved du hvor det muligt at finde documentation over dette eller ved hvordan disse fungerer. PHP.net forklarer kun hvorledes de anvendes i praksis.

På forhånd tak.
Avatar billede intenz Novice
27. november 2009 - 17:09 #1
Hvis du føler for det, kan du finde kildekoden til php her:
http://php.net/downloads.php

De ligger jo nok et sted deri.
Avatar billede Slettet bruger
27. november 2009 - 17:24 #2
Ud fra denne artikel, vil jeg mene, du skal lede efter den random generator, dit operativsystem benytter:
http://www.boallen.com/random-numbers.html
(det fremgår at rand() funktionen i PHP er OS specific)

Hvis du vil ud i et mere generelt syn, kan du tage et kik forbi wikipedia:
http://en.wikipedia.org/wiki/Pseudorandom_number_generator

/1
Avatar billede PseudoFrag Nybegynder
02. december 2009 - 17:32 #3
Tusind tak for svarene. Begge har været meget anvendelig, trods kildekoden for PHP er skrevet i C, hvilket ikke er et sprog jeg er super kompatibel med.

Boallen linket var meget anvendeligt og fik jeg fik også lavet min egen test af bitmap generatoren i diverse OS.  Jeg blev enig med mig selv om at det ikke ville være så hensigtsmæssig at gå alt for dybt ind i random funktioner, da tilfældighed er et meget svært emne at beskrive.

Jeg takker og beklager den lange response tid.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester