Random
-
Leider kann ich nicht editieren.
@Dravere:
Gäbe es jetzt vielleicht noch eine Möglichkeit das einzugrenzen?
-
C_Sharp schrieb:
Gäbe es jetzt vielleicht noch eine Möglichkeit das einzugrenzen?
Ja, mit dem Modulo Operator.
Random random = new Random(); uint upperLimit = 3000000000; uint number = (uint)(random.NextDouble() * uint.MaxValue) % upperLimit;
So sind alle Zahlen zwischen 0 und 3000000000 exklusiv. Falls du die Untergrenze nach oben korrigieren willst, musst du halt etwas dazurechnen und dies vom
upperLimit
abziehen.Grüssli
-
Oder schlichter
Random random = new Random(); uint upperLimit = 3000000000; uint number = (uint)(random.NextDouble() * upperLimit);
-
Dravere schrieb:
Falls du die Untergrenze nach oben korrigieren willst, musst du halt etwas dazurechnen und dies vom
upperLimit
abziehen.Meinst du so?
uint upperlimit = 300; uint lowerlimit = 5; uint number = (uint)(random.NextDouble() * uint.MaxValue) % upperlimit - lowerlimit;
-
Ich denke, eher
uint upperlimit = 300; uint lowerlimit = 5; uint number = (uint)(random.NextDouble() * uint.MaxValue) % (upperlimit - lowerlimit) + lowerlimit;
oder
uint upperlimit = 300; uint lowerlimit = 5; uint number = (uint)(random.NextDouble() * (upperlimit - lowerlimit)) + lowerlimit;
-
@volkard,
lol, stimmt. Eindeutig Zeit ins Nest zu gehen@C_Sharp,
Mit dem was Volkard eingeführt hat und zusätzlich noch mit Erweiterungsmethoden, könnte man dies so machen:static class RandomExtension { public static uint NextUInt(this Random random, uint lower, uint upper) { return (uint)(random.NextDouble() * (upper - lower)) + lower; } } // ... Random random = new Random(); uint number = random.NextUInt(1000, 5000);
Grüssli
-
Funktioniert 1A, vielen dank
-
Mal noch nen anderer Gedanke:
Random rnd = new Random(); uint number = rnd.Next() + rnd.Next();
MfG SWW13
-
Oder man nimmt NextBytes() füllt sich damit nen 4 Byte großes Array und bastelt sich damit den uint zusammen
-
SWW13 schrieb:
Mal noch nen anderer Gedanke:
Random rnd = new Random(); uint number = rnd.Next() + rnd.Next();
MfG SWW13
Das geht so nicht! Würfel mal mit 2 6er Würfeln und siehe was passiert... Die Wharscheinlichkeit dass die 7 fällt ist höher als die 2. Selbes Prinzip bei deiner These.