🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: be.comp.programming
Article #12215

Re: random functie in C++ STL

#12215
From: Benoit Liessens
Date: Sat, 01 Dec 2001 17:16
46 lines
2445 bytes
 Yseboodt <lennartyseboodt@skynet.be> schreef in berichtnieuws
3c08eaa0$0$27955$ba620e4c@news.skynet.be...
>
> rand/srand geven "slechte" random getallen, met een vrij hoge graad van
srand48() gebruik ik. Als ik me goed herinner geeft die een 'unsigned long'
als random getal. Eigenlijk moet ik random karakters moet hebben uit een
reeks van 14:

unsigned long r = srand48();

if r<= ULONG_MAX/ 14 return 'U';
if r<= 2* ULONG_MAX/ 14 return 'D';
if r<=3*ULONG_MAX/ 14 return 'R';

etc ...

Op 1.000.000 iteraties komen alle 14 karakters wel ong. even vaak voor. Goed
genoeg voor mijn prog.

Benoit

> voorspelbaarheid. Ik weet neit wat voor programma je maakt dus ik weet
niet
> in hoeverre dit belangrijk is, maar als je echt SUPER random getallen wil
en
> als het ENKEL onder linux moet werken dan kan je /dev/random openen. Dit

Nu je het zegt, /dev/random daar had ik al van gehoord. En het voorbeeldje
hieronder is wel duidelijk.


> geeft maar een beperkt aantal bytes, maar deze zijn ongeloofelijk random.
> Je kan ook /dev/urandom openen voor een grotere masse random bytes.
>
> Indien je bijvoorbeeld een integer wil volstoppen kan
>
> int c;
> long R;
> FILE *f;
> f=fopen("/dev/random","r");
> for (c=0 ;c<=3; c++)
> {
>     R+=fgetc(f);
>     R<<=8;
> }
>
Technical Details
Message-ID: <3c09110b$0$12219$4d4efb8e@news.be.uu.net>
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!supernews.com!newsfeed.direct.ca!look.ca!dispose.news.demon.net!demon!easynet-monga!easynet.net!tank.news.pipex.net!pipex!lnewspeer01.lnd.ops.eu.uu.net!lnewsifeed03.lnd.ops.eu.uu.net!lnewsifeed02.lnd.ops.eu.uu.net!bnewspost00.bru.ops.eu.uu.net!emea.uu.net!news.be.uu.net!not-for-mail
References: <3bea7fad$0$12226$4d4efb8e@news.be.uu.net> <3c08eaa0$0$27955$ba620e4c@news.skynet.be>

Show Full Headers
Complete Article Headers
X-Google-Language: DUTCH,ASCII-7-bit
X-Google-Thread: fcea4,e4605bf6a9a91351
X-Google-Attributes: gidfcea4,public
X-Google-ArrivalTime: 2001-12-01 09:19:09 PST
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!supernews.com!newsfeed.direct.ca!look.ca!dispose.news.demon.net!demon!easynet-monga!easynet.net!tank.news.pipex.net!pipex!lnewspeer01.lnd.ops.eu.uu.net!lnewsifeed03.lnd.ops.eu.uu.net!lnewsifeed02.lnd.ops.eu.uu.net!bnewspost00.bru.ops.eu.uu.net!emea.uu.net!news.be.uu.net!not-for-mail
From: "Benoit Liessens" <benoit.liessens@freeweb.be>
Newsgroups: be.comp.programming
References: <3bea7fad$0$12226$4d4efb8e@news.be.uu.net> <3c08eaa0$0$27955$ba620e4c@news.skynet.be>
Subject: Re: random functie in C++ STL
Date: Sat, 1 Dec 2001 18:16:12 +0100
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Outlook Express 5.00.2615.200
X-MimeOLE: Produced By Microsoft MimeOLE V5.00.2615.200
Lines: 48
Message-ID: <3c09110b$0$12219$4d4efb8e@news.be.uu.net>
NNTP-Posting-Host: uu212-190-6-91.unknown.uunet.be
X-Trace: 1007227147 news.be.uu.net 12219 212.190.6.91
X-Complaints-To: abuse@be.uu.net