eXma » Diskutieren » Computer und Technik
Startseite - Veranstaltungen - Mitglieder - Suche
Vollständige Version anzeigen: Zufallszahlen zwischen 0 und 1 mit C++
marco
Hallo,

weiß jemand, wie ich mit c++ zufallszahlen zwischen 0 und 1 generieren kann?
im netz find ich nur möglichkeiten integer zu basteln... brauch aber einfache gkz zw. 0 und 1...

danke m.
aktsizr
man 3 random
man 4 random

Spasseshalber: man 3 rand

Ausserdem den Random Seed setzen vermittels srandom(). Bei rand() wie in den Lignix Manual beschrieben High Order Bits verwenden (obgleich ich mir unsicher bin, inwieweit das heute noch relevant ist)

p.s.: % Operatior, eventuell noch & Operator anschauen und verstehen.
marco
Zitat(aktsizr @ 15 Apr 2008, 14:31)
man 3 random
man 4 random

Spasseshalber: man 3 rand

Ausserdem den Random Seed setzen vermittels srandom(). Bei rand() wie in den Lignix Manual
beschrieben High Order Bits verwenden (obgleich ich mir unsicher bin, inwieweit das heute noch
relevant ist)

p.s.: % Operatior, eventuell noch & Operator anschauen und verstehen.
*


was?
muss ich dann noch den overdriver switchen oder reicht es wenn ich den interrupt verbiege?
ich versteh nur bahnhof...

aber trotzdem erstmal danke smile.gif
CoolSun
...*start_klugscheiß*....es gibt doch Datenkonvertierungsbefehle....wenn du schon weiß wie du die zahl als Int bekommst, muss du sie doch auch in Real konvertieren können.

C++ ist verdammt lang her - aber in irgendwas in der form int_to_real () muss es doch geben.

*end_klugscheiß*...
CoolSun
hab hier nen Handbuch und würde mal das dazu notwendige posten.

sinngemäß steht, man müsse zwei Zufallszahlen erzeugen.
Die eine als ganzzahl vor dem Komma, die zweite Zahl wird als Nachkommastalle angehängt.
.henne
Ihr redet ja alle am Thema vorbei...
@marco: einfach ne Zufallszahl in nem Bereich von 0 bis GROßE_ZAHL generieren und dann durch GROßE_ZAHL teilen. Fertich.

CODE

#define MAX 50000
srand(time(NULL));
int i = rand() % MAX;
double z = i  / MAX * 1.0f;
marco
Zitat(.henne @ 15 Apr 2008, 14:59)
Ihr redet ja alle am Thema vorbei...
@marco: einfach ne Zufallszahl in nem Bereich von 0 bis GROßE_ZAHL generieren und dann durch
GROßE_ZAHL teilen. Fertich.

CODE

#define MAX 50000
srand(time(NULL));
int i = rand() % MAX;
double z = i  / MAX * 1.0f;

*

jo... hab ich auch grad gefunden....

double(rand())/double(RAND_MAX)...

geilo...

danke nochmal an alle...