我正在尝试为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/

10-10 20:56