亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

我需要獲取 (-1,1) 的隨機數,現在用的方法是:

我需要獲取 (-1,1) 的隨機數,現在用的方法是:

iOS
幕布斯6054654 2023-04-25 19:15:25
(round((arc4random() % 2)))-((round((arc4random() % 2))) == 0)感覺方法太長了,求一個簡化的方案。
查看完整描述

2 回答

?
絕地無雙

TA貢獻1946條經驗 獲得超4個贊

你是要生成(-1,1)之間的任意浮點數還是要生成{-1,0,1}這三個整數?

如果是要取整數,arc4random()返回的就是整數,為什么要round成浮點數再做運算?可以直接:

int r = arc4random() % 3 - 1;

如果是要取(-1, 1)之間的浮點數,就是:

#define ARC4RAND_MAX 0x100000000double r = (double)arc4random() / ARC4RAND_MAX * 2.0f - 1.0f;


查看完整回答
反對 回復 2023-04-28
?
HUH函數

TA貢獻1836條經驗 獲得超4個贊

不懂objective-c,不過目測你的方法并不隨機,得到0的概率是50%,1和-1的概率分別是25%。
感覺可以用(round(arc4random() % 3)) - 1

查看完整回答
反對 回復 2023-04-28
  • 2 回答
  • 0 關注
  • 184 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號