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范围内的伪随机数”.你能把你自己的东西加到这个复制粘贴上吗?即使修改格式并突出相关短语也将是一个开始。