0

我想生成两个不同的 15 位随机数。我怎样才能做到这一点

谢谢

4

3 回答 3

1

试试这个::

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

int number = arc4random_uniform(900000) + 100000;

它将给出从 100000 到 899999 的随机数。

希望能帮助到你!!

于 2013-09-05T07:03:21.343 回答
1

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

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;
于 2013-09-05T07:31:10.860 回答
0

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

这是一个链接,可以让您很好地了解arc4random().
希望这会有所帮助

于 2013-09-05T07:03:24.600 回答