ios - 简单的获取(-1,1)随机数
迷茫
迷茫 2017-04-17 11:28:53
[iOS讨论组]

我需要获取 (-1,1) 的随机数,现在用的方法是

(round((arc4random() % 2)))-((round((arc4random() % 2))) == 0)

感觉方法太长了。。。
求一个简化的方案

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

全部回复(2)
怪我咯

不懂objective-c,不过目测你的方法并不随机,得到0的概率是50%,1和-1的概率分别是25%。
感觉可以用(round(arc4random() % 3)) - 1

迷茫

你是要生成(-1,1)之间的任意浮点数还是要生成{-1,0,1}这三个整数?

如果是要取整数,arc4random()返回的就是整数,为什么要round成浮点数再做运算?可以直接:

int r = arc4random() % 3 - 1;

如果是要取(-1, 1)之间的浮点数,就是:

#define ARC4RAND_MAX 0x100000000
double r = (double)arc4random() / ARC4RAND_MAX * 2.0f - 1.0f;
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号