Random Sayı Üretici
Belirli aralıkta rastgele sayı.
Rastgele Sayı Ayarları
Rastgele Sayı Üretimi Hakkında
Bu araç tarayıcının crypto.getRandomValues() API'sini kullanır; bu, işletim sisteminin kriptografik olarak güvenli entropi kaynağından beslenir. Math.random()'ın aksine tahmin edilemez sonuçlar üretir. Tekrarsız seçim için Fisher-Yates karıştırma algoritması uygulanır.
Algoritma
Sayı = min + (cryptoRandom % (max − min + 1))- crypto.getRandomValues ile ham 32-bit rastgele sayı al
- Modulo işlemiyle [min, max] aralığına eşle
- Tekrarsız modda: Fisher-Yates shuffle ile aralıktan benzersiz örnekleme yap
- Sıralama istenirse Array.sort() ile küçükten büyüğe sırala
Kullanım Senaryoları
Zar atma: Min:1, Max:6, Adet:2 → iki zarın değeri
İstatistiksel örnekleme: 1–1000 arası 50 tekrarsız sayı → rastgele örnekleme
Sık Sorulan Sorular
Bilgisayar gerçekten rastgele sayı üretebilir mi?
Donanımsal rastgelelik (TRNG) için CPU'daki termal gürültü, klavye zamanlaması gibi fiziksel entropi kaynakları kullanılır. crypto.getRandomValues() bu kaynakları kullanarak kriptografik kalitede rastgelelik sağlar. Math.random() ise deterministik PRNG'dir — tahmin edilebilir.
PRNG ile TRNG farkı nedir?
PRNG (Pseudo-Random Number Generator): başlangıç değerinden (seed) matematiksel formülle üretilir, tekrarlanabilir. TRNG (True Random): fiziksel rastlantısallık kullanır, tekrarlanamaz. Güvenlik gerektiren uygulamalarda TRNG tercih edilmeli.
Tekrarsız seçim ne zaman imkânsız olur?
İstenen adet > aralık büyüklüğü olduğunda tekrarsız seçim mümkün değildir. Örneğin 1–5 arasından 10 tekrarsız sayı istenemez. Bu durumda araç hata mesajı gösterir.
Fisher-Yates algoritması nedir?
Bir diziyi tarafsız biçimde karıştırmanın en verimli yöntemi. Her eleman için rastgele bir konum seçerek swap yapar. N elemanlı dizide O(n) karmaşıklığında çalışır.