首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >arc4random()给出iOS中的负数

arc4random()给出iOS中的负数
EN

Stack Overflow用户
提问于 2016-04-06 09:32:51
回答 2查看 293关注 0票数 0

有时arc4random()也在目标C中给出负数。

我的代码如下:

尝试1:

代码语言:javascript
复制
long ii = arc4random();

尝试2:

代码语言:javascript
复制
int i = arc4random();

我怎么才能得到正随机数?

谢谢,

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-04-06 09:35:04

不,它总是正数,因为它返回一个无符号32位整数(命令页):

代码语言:javascript
复制
u_int32_t arc4random(void);

您将其视为有符号整数,这是不正确的。

票数 4
EN

Stack Overflow用户

发布于 2016-04-06 10:16:13

您应该使用arc4random_uniform()函数。这是最常用的随机函数。

arc4random_uniform()函数

返回0与插入参数减1之间的随机数。例如,arc4random_uniform( 3 )可能返回0、1或2,但不返回3。

示例

代码语言:javascript
复制
u_int32_t randomPositiveNo = arc4random_uniform(5) + 1; //to get the range 1 - 5
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36447071

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档