Rasgeleymiş gibi Görünen Sayılar
Önceki XIX. Oylum - Matematik Sonraki
Rasgeleymiş gibi Görünen Sayılar
İçindekiler
1. ISO C Rasgele Sayı İşlevleri  -  rand ve arkadaşları.
2. BSD Rasgele Sayı İşlevleri  -  random ve arkadaşları.
3. SVID Rasgele Sayı İşlevleri  -  drand48 ve arkadaşları.
Bu kısımda rasgeleymiş gibi görünen sayıları üreten GNU oluşumlarından bahsedilecektir. Üreilen sayılar gerçekten rasgele değildir; genellikle sürekli tekrarlanan ama tekrar dönemleri çok uzun olduğundan tekrarlandğı farkedilemeyen dizilimler şeklindedirler. Rasgele Sayı Üreteci sonraki rasgele sayıyı hesaplamak için ve yeni tohum değerini hesaplamak için bir tohum değeri kullanır.
Üretilen sayılar yazılımın çalışması esnasında önceden tahmin edilemez gibi göründüğü halde, aynı yazılım başka süreçlerde tamamen aynı sayı dizilimlerini kullanır. Bu dahili tohumun hep aynı olması sebebiyle böyledir. Yazılımda hata ayıklamaya kalkışırsanız bunun böyle olduğunu görürsünüz ama yazılımın önceden tahmin edilemeyen tarzda davranmasını isterseniz bu size pek yardımcı olmaz. Yazılımınızın her süreçte farklı rasgele sayı dizilimleri ile çalışmasını isterseniz, her seferinde farklı bir tohum belirtmeniz gerekir. Amaç sıradansa, tohum olarak daima eşsiz bir değer olan o anki mutlak zaman seçilir.
Belli bir makine türünde sayıları tekrarlanan dizilimler şeklinde elde etmek isterseniz, rassgele sayı üretecine aynı tohum değerini belirtmeniz gerekir. Standart olmak anlamında belirli bir tohum değeri yoktur; farklı C kütüphaneleri ya da farklı işlemci türlerinin herbirinin kendine özgü tohum değeri vardır ve bunlar size daima farklı rasgele sayılar verirler.
GNU C kütüphanesi standart ISO C rasgele sayı işlevleri yanında BSD ve SVID'den türetilmiş olanları da destekler. BSD ve ISO C işlevleri biraz sınırlı bir işlevsellikle benzerdirler. Sadece az sayıda rasgele bit gerekliyse, ISO C arayüzünü, rand ve srand işlevlerini kullanmanızı öneririz. SVID işlevleri daha esnek bir arayüz sağlar; daha iyi rasgele sayı üreteci algoritmaları içerdiğinden, her çağrıda daha fazla rasgele bit (48bite kadar) üretirler ve rasgele gerçek sayılar üretebilirler.
Önceki Üst Ana Başlık Sonraki
Matematiksel İşlevlerde Hatalar Başlangıç ISO C Rasgele Sayı İşlevleri
Bir Linux Kitaplığı Sayfası