Riješeno: nasumično plutanje između dva broja

Posljednje ažuriranje: 09/11/2023

Generiranje slučajnog plutanja između dva broja u C#

Generisanje nasumičnih float brojeva je uobičajena operacija u mnogim programskim aplikacijama, posebno u razvoju igara, statističkim simulacijama i naučnim istraživanjima. Koristeći programski jezik C#, pronaći ćete robustan okvir za kreiranje i manipulaciju brojevima s pomičnim brojem po potrebi. Ovaj članak je posvećen objašnjavanju jednostavnog pristupa kreiranju slučajnog plutajućeg broja između dva određena broja.

Rješenje: nasumično generiranje plutajućih brojeva između dva broja u C#

.NET Framework pruža ugrađenu klasu pod nazivom “Random” koja se može koristiti za generiranje slučajnih brojeva. Međutim, ova klasa obično bolje radi s generiranjem cijelih brojeva. Da bismo generirali nasumični float, napravit ćemo malu modifikaciju.

javni statički float RandomFloatBetween (float min, float max)
{
Random random = novi Random();
dvostruki opseg = max – min;
dvostruki uzorak = random.NextDouble();
dvostruko skalirano = (uzorak * opseg) + min;
return (float)scaled;
}

U ovom isječku koda prvo inicijaliziramo novu instancu klase Random. Zatim utvrđujemo raspon slučajnog broja kao razliku između maksimalne i minimalne vrijednosti. Nakon toga, dobijamo nasumični dupli broj između 0 i 1 (što NextDouble() pruža), skaliramo ga na naš opseg, dodamo minimalnu vrijednost i konvertujemo u float.

Objašnjenje koda korak po korak

Hajde da razložimo kod kako bismo dalje razumjeli svaki korak u generiranju slučajnog float-a.

  • Metoda počinje deklarisanjem i inicijalizacijom nove instance klase Random. Inicijalizirana klasa Random može generirati gotovo bilo koji nasumični cijeli broj i dvojnike.
  • Izračunavanje raspona brojeva unutar naših željenih granica se zatim izvodi korištenjem minimalnih i maksimalnih vrijednosti proslijeđenih metodi.
  • Zatim izvršavamo metodu NextDouble() na našoj Random varijabli. Funkcija NextDouble() je ono što ovdje zapravo generiše “slučajnost”; proizvodi nasumični dvostruki broj veći ili jednak 0.0 i manji od 1.0.
  • Zatim skaliramo nasumični duplikat između 0 i 1 na naš raspon množenjem na raspon.
  • Dodajte minimalnu vrijednost da biste naš raspon pozicionirali na originalno mjesto.
  • Kao posljednji korak, pretvaramo double u float koristeći eksplicitnu konverziju.

Ključni koncept iza generiranja slučajnog float-a proizašao je iz mogućnosti generiranja nasumične dvostruke vrijednosti pomoću ugrađene metode.

.NET Random Class i NextDouble() funkcija

Klasa Random je osnovni dio .NET Framework-a i predstavljena je u širokom rasponu aplikacija i situacija u kojima su potrebne nasumične vrijednosti. Dolazi sa mnoštvom metoda, ali za generiranje našeg slučajnog plutanja koristili smo metodu NextDouble. Ova metoda je dizajnirana da vrati nasumični broj između 0 i 1.

Vrijedi napomenuti da klasa Random proizvodi pseudoslučajne brojeve – brojeve koji, iako nisu istinski slučajni, služe većini svrha sasvim adekvatno. Međutim, za aplikacije koje zahtijevaju veću slučajnost, možda će biti potreban drugačiji pristup.

Aritmetika s plutajućim zarezom u C#

Brojevi s pomičnim zarezom ključni su dio gotovo svakog programskog jezika, a C# se ne razlikuje. Koriste se kad god treba da predstavimo brojeve koji nisu cijeli brojevi, a dolaze u dvije varijante – plutajući i dvostruki.

Pretvaranje naše nasumične dvostruke vrijednosti u float je jednostavan, ali važan proces, jer osigurava da je naša konačna vrijednost u formatu koji nam je potreban. To je zbog različitih nivoa preciznosti i dometa koje nude tipovi float i double.

Sada imate ideju kako da generišete nasumično float u C#, vreme je da iskoristite ovo znanje da unesete neko spontano ponašanje u svoje programe. Bilo da se radi o simulacijama igara, numeričkim metodama ili stohastičkom programiranju, razumijevanje slučajnog generiranja bit će moćan alat za svakog programera.

Slični postovi: