Re: rand() nicht zufällig?!

From: Robert Lillack <rob(at)lillack.de>
Date: Sat, 24 May 2003 14:30:31 +0200

Jens Rehsack wrote:

> Kannst Du mir ein System(tm) nennen, dass rand(3) besser umgesetzt hat?

+ SunOS 5.8 sun4u sparc SUNW,Ultra-80 mit gcc 3.2.1
+ Windows 2000 auf i386 mit Visual Studio oder so*
+ Linux 2.4.18 mit gcc 2.95.3 und libc.so.6*

* == nicht persönlich getest, aber durch vertrauenswürdige
     Person testen lassen.

> Denn eigendlich beschreibt der Standard auch das Verhalten, in diesem
> Fall den Algorithmus.

Mmmh. Wie es aussieht ist *das* der Algorithmus der in
ANSI C definiert ist, zumindest habe ich das jetzt schon
mehrmals gefunden¹:

int rand() {
  next = next * 1103515245 + 12345;
  return ((next >>16) & 32767);
}

Das bedeutet dann also, dass sich keine Sau daran hält.
Toll. Ich darf mich also auch noch darum kümmern, dass ich
ordentliche Zufallszahlen bekomme, wenn ich portabel
bleiben will. Suuuper.

Gruss,
Rob.

[1] Kann man den kompletten ANSI-C-Standard irgendwo einsehen
    oder runterladen? Habe auf ansi.org irgendwie nix gefunden.

-- 
r o b e r t | l i l l a c k
www.lillaxsitedesign.de/rob
secure mail key: 0xE7FFDF77
To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Sat 24 May 2003 - 14:30:36 CEST

search this site