Generování náhodného pohybu mezi dvěma čísly v C#
Generování náhodných plovoucích čísel je běžnou operací v mnoha programovacích aplikacích, zejména při vývoji her, statistických simulacích a vědeckém výzkumu. Pomocí programovacího jazyka C# najdete robustní rámec pro vytváření a manipulaci s plovoucími čísly podle potřeby. Tento článek je věnován vysvětlení přímého přístupu k vytvoření náhodného floatingu mezi dvěma konkrétními čísly.
Řešení: Náhodné generování float mezi dvěma čísly v C#
.NET Framework poskytuje vestavěnou třídu s názvem „Random“, kterou lze použít ke generování náhodných čísel. Tato třída však obvykle funguje lépe s generováním celých čísel. Abychom vygenerovali náhodný float, provedeme malou úpravu.
public static float RandomFloatBetween(float min, float max)
{
Náhodný náhodný = new Random();
dvojitý rozsah = max – min;
double sample = random.NextDouble();
dvojitá stupnice = (vzorek * rozsah) + min;
return (float)scaled;
}
V tomto fragmentu kódu nejprve inicializujeme novou instanci třídy Random. Poté určíme rozsah náhodného čísla jako rozdíl mezi maximální a minimální hodnotou. Poté získáme náhodný dvojnásobek mezi 0 a 1 (což poskytuje NextDouble()), škálujeme jej do našeho rozsahu, přidáme minimální hodnotu a převedeme na float.
Vysvětlení kódu krok za krokem
Pojďme si kód rozebrat, abychom lépe porozuměli každému kroku při generování náhodného floatu.
- Metoda začíná deklarací a inicializací nové instance třídy Random. Inicializovaná třída Random může generovat prakticky libovolné náhodné celé číslo a dvojky.
- Výpočet rozsahu čísel v našich požadovaných mezích se pak provádí pomocí min a max hodnot předávaných metodě.
- Poté provedeme metodu NextDouble() na naší náhodné proměnné. Funkce NextDouble() je to, co zde ve skutečnosti generuje „náhodnost“; vytváří náhodné dvojité číslo větší nebo rovné 0.0 a menší než 1.0.
- Náhodný dvojnásobek pak škálujeme mezi 0 a 1 k našemu rozsahu tím, že ho vynásobíme rozsahem.
- Přidejte zpět minimální hodnotu a přemístěte náš rozsah na původní místo.
- Jako poslední krok převedeme double na float pomocí explicitní konverze.
Klíčový koncept generování náhodného plováku pochází ze schopnosti generovat náhodný dvojník pomocí vestavěné metody.
Třída .NET Random a funkce NextDouble().
Třída Random je základní součástí .NET Framework a vyskytuje se v široké řadě aplikací a situací, kde jsou vyžadovány náhodné hodnoty. Dodává se s řadou metod, ale pro generování našeho náhodného floatu jsme využili metodu NextDouble. Tato metoda je navržena tak, aby vrátila náhodné číslo mezi 0 a 1.
Stojí za zmínku, že třída Random produkuje pseudonáhodná čísla – čísla, která, i když nejsou skutečně náhodná, slouží většině účelů zcela adekvátně. U aplikací, které vyžadují silnější náhodnost, však může být zapotřebí jiný přístup.
Aritmetika s plovoucí desetinnou čárkou v C#
Čísla s plovoucí desetinnou čárkou jsou zásadní součástí prakticky jakéhokoli programovacího jazyka a C# se neliší. Používají se vždy, když potřebujeme reprezentovat neceločíselná čísla, a přicházejí ve dvou variantách – float a double.
Převod naší náhodné dvojité hodnoty na float je jednoduchý, ale důležitý proces, protože zajišťuje, že naše konečná hodnota bude ve formátu, který požadujeme. To je způsobeno různými úrovněmi přesnosti a dosahu nabízených plováky a dvojitými typy.
Nyní máte představu o tom, jak generovat náhodný float v C#, je čas využít tyto znalosti k tomu, abyste do svých programů vnesli nějaké spontánní chování. Ať už se jedná o herní simulace, numerické metody nebo stochastické programování, pochopení náhodného generování bude mocným nástrojem pro každého vývojáře.