Nick: C++ (Pseudo-)Zufallszahl generieren

Beitrag lesen

Hi Gunnar!

Das läuft auf einem 32-Bit-System?

Ja. Win7 32Bit.

Was ist dann 1<<32? Was x % (1<<32)?

Der Compiler sagt >= width of type bzw. Division durch 0. Nicht gut. Aber wieso kann ich die 32Bit nicht adressieren auf einem 32Bit-System? Dann halt 1<<31 :)
Ok, ich habe es geändert zu
r = rand() % (1<<31) + (1<<24);

Das gibt mir sehr viele Werte im Bereich 167xxxxx bis 168xxxxx - meist mit 167 am Anfang. Aber nach 100 Durchläufen kam noch keine Zahl mit mehr Stellen oder in einem anderen Bereich :(

Irgend etwas mache ich wohl leider immernoch falsch.