随机数

 

    /*

     随机数学习

     

     srand, rand(),random(),

     arc4random()

     

     srand函数是随机数发生器的初始化函数,原型 void srand(unsigned int seed)

     

     srandrand()配合使用产生的伪随机数序列。rand函数在产生随机数前,需要系统提供生成伪随机数序列的种子,rand根据这个种子的值产生一系列随机数,如果系统提供的种子没有变化,每次调用rand函数生成的伪随机数序列都是一样的。

     

     srand(unsigned seed)通过参数seed改变系统提供的种子值,从而可以使得每次调用rand函数生成的伪随机数序列不同,从而实现真正意义上的随机。通常可以利用系统时间来改变系统的种子值,即srand(time(NULL)),可以为rand函数提供不同的种子值,进而产生不同的随机数序列

     

     */

    

    

    // rand() random() 的初始化函数,如果不加,每次的随机数都和第一次一样

    srand((unsigned)time(0));   //c++ 写法; 或者 c语言的写法 srand((unsigned)time(NULL));

    

    

    //1.rand()

    for (NSInteger i = 0; i < 10; i++) {

        

        

        NSInteger num = (long)rand()%10;

        NSLog(@"随机数==1=====%ld",(long)num);

        

        

    }

    

    

    //2.random()

    for (NSInteger i = 0; i < 10; i++) {

        

        

        NSInteger num = (long)random()%10;

        NSLog(@"随机数==2=====%ld",(long)num);

        

        

    }

    

    /*

     rand()random()实际并不是一个真正的伪随机数发生器,在使用之前需要先初始化随机种子,否则每次生成的随机数一样。

     rand()random()在使用前必须用srand()随机化种子,这样才能每次随机的数都不一样

     */

    

    //3.arc4random

    for (NSInteger i = 0; i < 10; i++) {

        

        

        NSInteger num = (long)arc4random()%10;

        NSLog(@"随机数==3=====%ld",(long)num);

        

        

    }

    /*arc4random() 是一个真正的伪随机算法,不需要生成随机种子,因为第一次调用的时候就会自动生成。而且范围是rand()的两倍。

     iPhone中,RAND_MAX0x7fffffff (2147483647),而arc4random()返回的最大值则是 0x100000000 (4294967296)

     精确度比较:arc4random()  >  random()  >  rand()

     */



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值