banner
李大仁博客

李大仁博客

天地虽大,但有一念向善,心存良知,虽凡夫俗子,皆可为圣贤。

iOS開發之Objective-C幾種不同的隨機數算法(arc4random,random,srandom)

Objective-c 並沒有直接提供隨機數據生成的函數或方法,不過我們可以直接利用 c 的各種隨機算法。以下是幾種常見的隨機數算法的使用,可以參照以下頭文件 stdlib.h

arc4random 不需要隨機種子,在調用時自動生成隨機種子 返回 [0,X) 的集合 int value = arc4random () % x; 返回 [1,X] 的集合 int value = (arc4random () % x) + 1;

random ()/rand () 不使用種子隨機數,返回 long/int 範圍內的任意一個數 注意這裡的 random 返回 long rand 返回 int

srandom (unsigned)/srand (unsigned) 使用隨機種子,返回參數到 RAND_MAX 之間的任意一個數 注意這裡的 srandon 可以使用 unsigned long 作為參數

需要注意的是,rand 系列隨機數使用的是偽隨機算法,調用時建議使不同的用隨機種子 例如: srand (time (NULL))

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。