linux rand函数每次都一样,Linux下的random()和srand(arg),rand()这两个生成的随机数有什么区别....

共回答了19个问题采纳率:89.5%

首先我把这三个函数原型给你看一下

long random(void);

int rand(void);

void srand(unsigned seed);

random返回的是一个0到(2^31 - 1)的long类型整数

rand返回的是一个0到RAND_MAX的int类型整数

而你这里产生的随机数序列是一样的,这个很好解释,因为你知道srand,但是你却不知道还有一个srandom,这个函数是为random设置种子的,参数和srand一样.

我的帮助手册上甚至是这么写的:

The random() and srandom() functions have (almost) the same calling sequence

and initialization properties as the rand(3) and srand(3) functions. The

difference is that rand(3) produces a much less random sequence -- in fact,

the low dozen bits generated by rand go through a cyclic pattern. All of

the bits generated by random() are usable. For example, `random()&01' will

produce a random binary value.

希望我的回答能给你带来帮助

1年前

10

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值