Vyřešeno: náhodné plavení mezi dvěma čísly

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.

Související příspěvky:

Zanechat komentář