生成具有已定义位数的随机数

时间:2013-09-05 06:58:15

标签: ios random

我想生成两个不同的随机数,它们有15位数。我怎么能这样做

由于

3 个答案:

答案 0 :(得分:1)

试试这个::

arc4random()是标准的Objective-C随机数生成器函数。它会给你一个零到......之间的数字,超过十五!您可以生成0到15之间的数字(所以,0,1,2,... 15): 一个6位数的随机数将是:

int number = arc4random_uniform(900000) + 100000;

它将提供从100000到899999的随机数。

希望它能帮助!!

答案 1 :(得分:1)

大多数随机数生成函数(例如arc4random)仅生成数字 范围0 .. 2^32-1 = 2147483647。对于15位十进制数,您可以计算 0 .. 10^5-1范围内的3个数字和“连接”它们:

uint64_t n1 = arc4random_uniform(100000); // 0 .. 99999
uint64_t n2 = arc4random_uniform(100000);
uint64_t n3 = arc4random_uniform(100000);

uint64_t number = ((n1 * 100000ULL) + n2) * 100000ULL + n3; // 0 .. 999999999999999

或者,如果您需要完全 15位数字:

uint64_t n1 = 10000 + arc4random_uniform(90000); // 10000 .. 99999
uint64_t n2 = arc4random_uniform(100000); // 0 .. 99999
uint64_t n3 = arc4random_uniform(100000); // 0 .. 99999

uint64_t number = ((n1 * 100000ULL) + n2) * 100000ULL + n3;

答案 2 :(得分:0)

使用arc4random()功能可以实现生成随机数。

以下link可以让您对arc4random()非常了解 希望这会有所帮助