Autorius Tema: C# atsitiktinių skaičių genaravimas  (Skaityta 2193 kartus)

Neprisijungęs oimg54

  • Naujokas
  • *
  • Įrašai: 4
  • Karma: +0/-0
    • Žiūrėti profilį
C# atsitiktinių skaičių genaravimas
« Įrašytas: 2013-03-23 19:25:06 pm »
C# kalboje galima generuoti trijų rūšių atsitiktinius skaičius: double tipo ( nuo 0,1 iki 1), int tipo ir byte tipo. Int tipo yra patys paprasčiausi, juos sudaro tik natūralus skaičiai.
random atsitiktinis = new Random();
MessageBox.Show(atsitiktinis.Next().To.String());
Next funkcija nurodo, kad generuotų paprastus skaičius. Next viduje galima nurodyti vieną arba du argumentus.
Nurodžius vieną argumentą, jis bus palaikytas kaip max Value, ir generuos skaičius tik iki tos reikmės. Nurodžius du argumentus, pirmasis nurodys minimalią reikšmę, antrasis maksimalią reikšmę:
random atsitiktinis = new Random();
MessageBox.Show(atsitiktinis.Next(9999).To.String()); // 9999 - tai maksimali reikšmė
MessageBox.Show(atsitiktinis.Next(10, 9999).To.String()); // 10 - minimali reikšmė, 9999 - tai maksimali reikšmė.

Double tipo skaičius galima generuoti nurodžius NextDouble funkciją:

random atsitiktinis = new Random();
MessageBox.Show(atsitiktinis.Next(9999).To.String()); // 9999 - tai maksimali reikšmė
MessageBox.Show(atsitiktinis.Next(10, 9999).To.String()); // 10 - minimali reikšmė, 9999 - tai maksimali reikšmė.

Double tipo skaičius galima generuoti nurodžius NextDouble funkciją:
random atsitiktinis = new Random();
MessageBox.Show(atsitiktinis.NextDouble().To.String()) //sugeneruotas skaičius bus panašus į tokį 0,157488545457854
Ir dar yra byte tipo. Čia reikia nurodyti iš kiek bitų bus sudarytas skaičius. Skaičiai yra  šešioliktainiai. Vienas bito skaičius sudarytas iš dviejų skaitmenų/raidžių. Jie atskirti brūkšneliais(pvz.: 7E-2G, tai būtų dviejų bitų atsitiktnis skaičius). Bet, kad taip atvaizduotų, prieš tai reikia dar konvertuoti į bitus, pasinaudojant BitConverter funkcija.
            Random rand = new Random();
            Byte[] b = new Byte[3]; // deklaruojam byte b kintamąjį
            rand.NextBytes(b);
            MessageBox.Show(BitConverter.ToString(b));

Manualai.lt Forumas

C# atsitiktinių skaičių genaravimas
« Įrašytas: 2013-03-23 19:25:06 pm »