Dipecahkan: float acak antara dua angka

Pembaharuan Terakhir: 09/11/2023

Menghasilkan Float Acak Antara Dua Angka di C#

Menghasilkan angka float acak adalah operasi umum di banyak aplikasi pemrograman, terutama dalam pengembangan game, simulasi statistik, dan penelitian ilmiah. Dengan menggunakan bahasa pemrograman C#, Anda akan menemukan kerangka kerja yang kuat untuk membuat dan memanipulasi bilangan float sesuai kebutuhan. Artikel ini didedikasikan untuk menjelaskan pendekatan langsung untuk membuat float acak antara dua angka tertentu.

Solusi: Pembuatan Float Acak Antara Dua Angka di C#

.NET Framework menyediakan kelas bawaan bernama "Acak" yang dapat digunakan untuk menghasilkan angka acak. Namun, kelas ini biasanya bekerja lebih baik dengan menghasilkan bilangan bulat. Untuk menghasilkan float acak, kami akan melakukan sedikit modifikasi.

float statis publik RandomFloatBetween (float min, float max)
{
Acak acak = baru Acak();
rentang ganda = maks – min;
sampel ganda = acak.NextDouble();
skala ganda = (sampel * rentang) + min;
kembali (mengambang) berskala;
}

Dalam cuplikan kode ini, pertama-tama kita menginisialisasi instance baru dari kelas Random. Kemudian, kita menetapkan rentang bilangan acak sebagai selisih antara nilai maksimum dan minimum. Setelah itu, kita mendapatkan penggandaan acak antara 0 dan 1 (yang disediakan oleh NextDouble()), menskalakannya ke rentang kita, menambahkan nilai minimum, dan mengonversinya menjadi float.

Penjelasan Kode Langkah demi Langkah

Mari kita uraikan kodenya untuk lebih memahami setiap langkah dalam menghasilkan float acak.

  • Metode ini dimulai dengan mendeklarasikan dan menginisialisasi instance baru dari kelas Random. Kelas Acak yang diinisialisasi dapat menghasilkan hampir semua bilangan bulat acak dan ganda.
  • Perhitungan rentang angka dalam batas yang kita inginkan kemudian dilakukan dengan menggunakan nilai min dan max yang diteruskan ke metode tersebut.
  • Kami kemudian mengeksekusi metode NextDouble() pada variabel Acak kami. Fungsi NextDouble() inilah yang sebenarnya menghasilkan “keacakan” di sini; ini menghasilkan angka ganda acak yang lebih besar dari atau sama dengan 0.0 dan kurang dari 1.0.
  • Kami kemudian menskalakan penggandaan acak antara 0 dan 1 ke rentang kami dengan mengalikannya ke rentang tersebut.
  • Tambahkan kembali nilai minimum untuk memposisikan ulang rentang kita ke tempat semula.
  • Sebagai langkah terakhir, kami mengonversi double menjadi float menggunakan konversi eksplisit.

Konsep utama di balik pembuatan pelampung acak berasal dari kemampuan untuk menghasilkan penggandaan acak menggunakan metode bawaan.

Kelas Acak .NET dan Fungsi NextDouble()

Kelas Random adalah bagian mendasar dari .NET Framework, dan ditampilkan dalam berbagai aplikasi dan situasi yang memerlukan nilai acak. Muncul dengan sejumlah metode, tetapi untuk menghasilkan float acak, kami memanfaatkan metode NextDouble. Metode ini dirancang untuk mengembalikan angka acak antara 0 dan 1.

Perlu dicatat bahwa kelas Random menghasilkan bilangan pseudo-acak – bilangan yang, meskipun tidak benar-benar acak, cukup memenuhi sebagian besar tujuan. Namun, untuk aplikasi yang memerlukan keacakan yang lebih kuat, pendekatan yang berbeda mungkin diperlukan.

Aritmatika Titik Mengambang di C#

Angka floating-point adalah bagian penting dari hampir semua bahasa pemrograman, dan C# juga demikian. Mereka digunakan kapan pun kita perlu merepresentasikan bilangan non-integer, dan tersedia dalam dua variasi – float dan double.

Mengonversi nilai ganda acak menjadi float adalah proses yang sederhana namun penting, karena ini memastikan nilai akhir berada dalam format yang kita perlukan. Hal ini disebabkan oleh perbedaan tingkat presisi dan jangkauan yang ditawarkan oleh tipe float dan double.

Sekarang Anda memiliki ide tentang cara menghasilkan random float di C#, sekarang saatnya menggunakan pengetahuan ini untuk menghadirkan perilaku spontan ke program Anda. Baik itu simulasi permainan, metode numerik, atau pemrograman stokastik, memahami pembangkitan acak akan menjadi alat yang ampuh bagi pengembang mana pun.

Pos terkait: