我正在尝试为tinyos,nesc中的传感器生成随机值。我想有特定的限制,但是我得到的并不是我想要的。
我想获取[nodeID,nodeID + 20]之间的数字
我的代码是:
value = nodeID + rand()%(20 + (1 + nodeID));
有任何想法吗?
最佳答案
要获得[nodeID,nodeID + 20]范围内的值:
您总共可以获取21个值,因此从rand() % 21
开始为您提供0到20之间的一个值。
现在将nodeID添加到此:nodeID + (rand() % 21)
。这为您提供了一个值,范围从nodeID到nodeId + 20。
关于c - 如何解决随机给出错误的数字,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47475135/