Ios arc4random()的最大返回值
由于某些原因,我找不到任何形式的官方文件,告诉我Ios arc4random()的最大返回值,ios,arc4random,Ios,Arc4random,由于某些原因,我找不到任何形式的官方文件,告诉我arc4random()的范围是多少。我在一些非权威的资料中看到它是2^32-1,略高于40亿 有人能证实这一点吗?如果是的话,你能链接到某个地方显示这个数字的官方文件吗?我试图在我的iOS应用程序上生成一个随机数,需要有一个相当正式的上限才能使算法正常工作。你说得对 描述 The arc4random() function uses the key stream generator employed by the arc4 cipher, wh
arc4random()
的范围是多少。我在一些非权威的资料中看到它是2^32-1,略高于40亿
有人能证实这一点吗?如果是的话,你能链接到某个地方显示这个数字的官方文件吗?我试图在我的iOS应用程序上生成一个随机数,需要有一个相当正式的上限才能使算法正常工作。你说得对
描述
The arc4random() function uses the key stream generator employed by the arc4 cipher, which uses 8*8 8
bit S-Boxes. The S-Boxes can be in about (2**1700) states. The arc4random() function returns pseudo-random pseudorandom
random numbers in the range of 0 to (2**32)-1, and therefore has twice the range of rand(3) and
random(3).
函数的作用是:用
ARC4衍生随机数据
arc4random_uniform()将返回均匀分布的随机变量
小于上限的数字。建议使用arc4random_uniform()
在类似“arc4random()%上限”的构造上
当上限不是二的幂时的“模偏差”
arc4random_stir()函数从/dev/uradom读取数据并使用
它可以通过arc4random_addrandom()排列S盒
在使用arc4random()之前,无需调用arc4random_stir()
函数族,因为它们是自动的
初始化它们自己
资料来源报告说:
arc4random()
函数返回0到232–1范围内的伪随机数
幸运的是,这与它的返回类型uint32\u t
相匹配。也就是说,arc4random
可以返回任何32位无符号整数。包含的上限为UINT32\u MAX
(或Swift中的UINT32.MAX
)
但是,如果您只需要在特定范围内均匀分布的数字,则应使用
arc4random\u uniform(n)
(该范围是独占的:arc4random\u uniform(5)
可以返回0、1、2、3或4)。这更正确,也更方便比使用%
截断常规arc4random()
返回的范围还不够“权威”吗?通过谷歌搜索arc4random
,在10秒内的同一页面上,top link(苹果)说“arc4random()函数返回0到(2**32)-1范围内的伪随机数”.你能把你自己的东西加到这个复制粘贴上吗?即使修改格式并突出相关短语也将是一个开始。