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.