Çözüldü: iki sayı arasında rastgele geçiş

Son Güncelleme: 09/11/2023

C#'ta İki Sayı Arasında Rastgele Kayan Nokta Oluşturma

Rasgele kayan sayılar oluşturmak, birçok programlama uygulamasında, özellikle oyun geliştirmede, istatistiksel simülasyonlarda ve bilimsel araştırmalarda yaygın bir işlemdir. C# programlama dilini kullanarak, kayan sayıları gerektiği gibi oluşturmak ve değiştirmek için sağlam bir çerçeve bulacaksınız. Bu makale, iki belirli sayı arasında rastgele kayan nokta oluşturmaya yönelik basit bir yaklaşımı açıklamaya adanmıştır.

Çözüm: C#'ta İki Sayı Arasında Rastgele Kayan Nokta Oluşturma

.NET Framework, rastgele sayılar oluşturmak için kullanılabilecek “Random” adlı yerleşik bir sınıf sağlar. Ancak bu sınıf genellikle tam sayıların oluşturulmasında daha iyi çalışır. Rastgele bir kayan nokta oluşturmak için küçük bir değişiklik yapacağız.

public static float RandomFloatBetween(float min, float max)
{
Rastgele rastgele = new Rastgele();
çift ​​aralık = maks – min;
çift ​​örnek = rastgele.NextDouble();
çift ​​ölçekli = (örnek * aralık) + min;
dönüş (float)ölçekli;
}

Bu kod parçacığında ilk olarak Random sınıfının yeni bir örneğini başlatıyoruz. Daha sonra rastgele sayının aralığını maksimum ve minimum değerler arasındaki fark olarak belirleriz. Bundan sonra, 0 ile 1 arasında rastgele bir double elde ederiz (NextDouble() bunu sağlar), onu aralığımıza göre ölçeklendiririz, minimum değeri ekleriz ve float'a dönüştürürüz.

Kodun Adım Adım Açıklaması

Rastgele kayan nokta oluşturmanın her adımını daha iyi anlamak için kodu parçalara ayıralım.

  • Yöntem, Random sınıfının yeni bir örneğinin bildirilmesi ve başlatılmasıyla başlar. Başlatılan Random sınıfı hemen hemen her türlü rastgele tam sayı ve çiftleri üretebilir.
  • Daha sonra yönteme iletilen min ve max değerler kullanılarak istediğimiz limitler dahilindeki sayı aralığının hesaplanması gerçekleştirilir.
  • Daha sonra Random değişkenimiz üzerinde NextDouble() metodunu çalıştırıyoruz. NextDouble() işlevi burada aslında “rastgeleliği” yaratan şeydir; 0.0'dan büyük veya eşit ve 1.0'dan küçük rastgele bir çift sayı üretir.
  • Daha sonra rastgele çifti 0 ile 1 arasında aralığa çarparak aralığımıza ölçeklendiririz.
  • Aralığımızı orijinal yerine yeniden konumlandırmak için minimum değeri geri ekleyin.
  • Son adım olarak, açık bir dönüşüm kullanarak double'ı float'a dönüştürüyoruz.

Rastgele bir kayan nokta oluşturmanın ardındaki temel kavram, yerleşik bir yöntem kullanarak rastgele bir çift oluşturma yeteneğinden geldi.

.NET Random Class ve NextDouble() İşlevi

Random sınıfı, .NET Framework'ün temel bir parçasıdır ve rastgele değerlerin gerekli olduğu çok çeşitli uygulamalarda ve durumlarda öne çıkar. Bir dizi yöntemle birlikte gelir, ancak rastgele kayan noktamızı oluşturmak için NextDouble yöntemini kullandık. Bu yöntem 0 ile 1 arasında rastgele bir sayı döndürecek şekilde tasarlanmıştır.

Random sınıfının sözde rasgele sayılar ürettiğini belirtmekte fayda var; bu sayılar gerçek anlamda rastgele olmasa da çoğu amaca yeterince hizmet eder. Ancak daha güçlü rastgelelik gerektiren uygulamalar için farklı bir yaklaşıma ihtiyaç duyulabilir.

C#'ta Kayan Nokta Aritmetiği

Kayan nokta sayıları hemen hemen her programlama dilinin önemli bir parçasıdır ve C# da farklı değildir. Tamsayı olmayan sayıları temsil etmemiz gerektiğinde kullanılırlar ve iki çeşidi vardır: float ve double.

Rastgele double değerimizi float'a dönüştürmek basit ama önemli bir işlemdir çünkü nihai değerimizin ihtiyacımız olan formatta olmasını sağlar. Bunun nedeni, şamandıra ve çift tiplerin sunduğu farklı hassasiyet ve aralık seviyeleridir.

Artık C#'ta rastgele kayan noktanın nasıl oluşturulacağı hakkında bir fikriniz var, bu bilgiyi programlarınıza spontan davranışlar getirmek için kullanmanın zamanı geldi. Oyun simülasyonları, sayısal yöntemler veya stokastik programlama olsun, rastgele üretimi anlamak her geliştirici için güçlü bir araç olacaktır.

İlgili Mesajlar: