美文网首页iOS开发
ios随机数random(), arc4random(),arc

ios随机数random(), arc4random(),arc

作者: 小巷深深 | 来源:发表于2017-05-02 13:48 被阅读1021次

    1. random()

    random()不是一个真正的伪随机数发生器,因此在使用前必须初始化随机种子,否则每次生成的随机数都是相同的。它会产生一个[0,RAND_MAX)之间的一个整数。

    产生一个[0,100)的数字

    srandom((unsigned)time(NULL));
    int num = 100 * random()/RAND_MAX;
    

    目前已经不推荐使用random()函数了

    2. arc4random()

    arc4random()是一个真正的伪随机算法,不需要随机数种子。
    产生一个[0,100)的数字

    int num = arc4random()%100;
    

    3. arc4random_uniform()

    使用arc4random()产生指定的随机数还需要做取模运算,而arc4random_uniform()则不需要,看下面函数定义,传入一个上边界数字

    uint32_t arc4random_uniform(uint32_t __upper_bound)
    

    可产生一个[0, __upper_bound-1)的数字

    int num = arc4random_uniform(100);
    

    相关文章

      网友评论

        本文标题:ios随机数random(), arc4random(),arc

        本文链接:https://www.haomeiwen.com/subject/gpectxtx.html