C++不随机化

标签 c++ random

我不确定为什么我不能在这里获取我的变量的差异值,帮助!

int main()
{
    srand(time(NULL));
    srand48(time(NULL));
    Packet* firstPacket = new Packet();
    firstPacket->packetSize =  randSize();
    firstPacket->dest = randDest();
    firstPacket->arrivalTime = myExp(lamb);
    Host[firstPacket->dest].Frame.push_back(firstPacket);   // adding first packet
    Host[firstPacket->dest].numOfPack++;
    calcFrameSize(Host[firstPacket->dest]);
    cout << Host[token].frameTVTime << " " << Host[token].frameSize
                    << " " << token << " " << curTime << endl;
}

最佳答案

你的陈述是:

srand(time(NULL));
srand48(time(NULL));

调用您:

inline float time(int size) { return (10.0*(float)size/12500); }

而不是系统时间?

这可以解释为什么您没有获得随机数。

正如指出的那样,time() 是该函数的错误名称。

关于C++不随机化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/913459/

相关文章:

c++ - 将字符串转换为 double 型,然后将其插入 While 循环中的 vector

c++ - C++ STL 中的 const_iterator 和非 const 迭代器有什么区别?

java - 如何生成不重复的随机字符?

security - 在对其输出进行 SHA-1 处理后,可预测的随机数生成器如何(如果有的话)变得更加安全?

c++ - 如何在帕斯卡三角形中整合一行?

c++ - 使用 c++11 复制代码

c++ - 如何用这样的正则表达式检查 wxString

java - 如何在 Java 中创建一个随机的 BigDecimal?

haskell - 生成具有给定概率的随机整数

assembly - MIPS 程序集 - 随机整数范围