ISO C Rasgele Sayı İşlevleri
Önceki Rasgeleymiş gibi Görünen Sayılar Sonraki
ISO C Rasgele Sayı İşlevleri
Bu bölümde ISO C standardının bir parçası olan rasgele sayı işlevleri ele alınacaktır.
Bu oluşumları kullanabilmek için yazılımınıza stdlib.h başlık dosyasını dahil etmelisiniz.
int RAND_MAX
makro
Bu makronun değeri, rand işlevinin döndürebileceği en büyük değeri gösteren bir tamsayı sabittir. GNU C kütüphanesinde bu makronun değeri 32 bitle gösterilebilen en büyük işaretli tamsayı olan 2147483647'dir. Diğer kütüphanelerde 32767 gibi düşük bir değer olabilir.
int rand
(void)
işlev
rand işlevi dizilimdeki sonraki rasgeleymiş gibi görünen sayıyı döndürür. Değerler 0 ile RAND_MAX arasındadır.
void srand
(unsigned int tohum)
işlev
Rasgeleymiş gibi görünen yeni bir sayı dizilimi için tohum olarak tohum'u etkin kılar. srand ile yeni bir tohum atamadan önce rand çağrısı yaparsanız işlev öntanımlı tohum değeri olan 1 değerini kullanır.
Yazılımınızın her çalıştırılışında farklı bir rasgele sayı dizilimi kullanmasını istiyorsanız srand (time (0)) çağrısını kullanın.
POSIX.1, standart C işlevlerini çok evreli yazılımlarda yeniden üretilebilir rasgele sayıları destekleyen işlevlerle genişletmişse de bu genişletme biraz kötü tasarlandığından kullanışsızdır.
int rand_r
(unsigned int tohum)
işlev
Bu işlev rand işlevinin yaptığı gibi 0 ile RAND_MAX arasında bir rasgele sayı ile döner. Ancak, onun tüm durumu tohum argümanında saklanır. Bunun anlamı rasgele sayı üretecinin durumunun sadece unsigned int türünün sahip olabildiği bit sayısı kadar olduğudur. Bu iyi bir rasgele sayı üreteci için çok çok azdır.
Eğer yazılımınız bir evresel rasgele sayı üreteci gerektiriyorsa, SVID rasgele sayı üretecinde evresel GNU oluşumlarını kullanmanızı öneririz. POSIX.1 arayüzünü ise sadece GNU oluşumlarını kullanamadığınız zaman kullanmalısınız.
Önceki Üst Ana Başlık Sonraki
Rasgeleymiş gibi Görünen Sayılar Başlangıç BSD Rasgele Sayı İşlevleri
Bir Linux Kitaplığı Sayfası