草庐IT

随机性

全部标签

c++ - 制作一个不断变化的随机整数?

如何创建一个不断变化的伪随机整数?这样,我可以输入:cout程序会返回如下内容:45.7564.891.64(我不确定这是否有意义。) 最佳答案 创建一个表示随机数的类:classRandom{};然后重载operator:std::ostream&operator用作:intmain(){Randomrandom;std::cout显然,您需要实现generate_random. 关于c++-制作一个不断变化的随机整数?,我们在StackOverflow上找到一个类似的问题:

c++ - 如何使用STM32单片机生成REAL随机数?

我正在keilmicrovisionIDE中使用STM32F103Earmcortex-m3MCU开发一个项目。我需要为某些目的生成随机数,但我不想使用标准C++库生成的伪随机数,所以我需要一种方法来使用硬件功能生成真正的随机数,但我不知道如何我能行。任何的想法?(我是一名软件工程师,不是电子专业人士,所以请简单描述一下:P) 最佳答案 这是我刚遇到的一个老问题,但我想回答,因为我觉得其他答案都不令人满意。“我需要随机数来生成RSAkey。”这意味着PRNG例程(经常被错误地称为RNG,这是我的一个小毛病)是NotAcceptabl

c++ - C++每次生成相同的随机数

这个问题在这里已经有了答案:WhydoIalwaysgetthesamesequenceofrandomnumberswithrand()?(12个答案)关闭6年前。这是我的代码:intmain(intargc,char**argv){intsleeptime=atoi(argv[1]);intsleepCount=atoi(argv[2]);intsleepTimeRandom=1+(rand()%(int)(sleeptime));intsleepCountRandom=1+(rand()%(int)(sleepCount));sleepTimeRandom=sleepTimeRa

c++ - 随机数生成器,C++

我知道C++中的随机数生成有一些限制(可能是不均匀的)。如何生成1到14620之间的数字?谢谢。 最佳答案 如果你有一个c++0x环境,boost库的一个近似派生现在是标准的:#include#includeintmain(){std::uniform_int_distributiond(1,14620);std::mt19937gen;std::cout这将是快速、简单和高质量的。你没有指定,但如果你想要浮点而不是subin:std::uniform_real_distributiond(1,14620);如果您需要非均匀分布,您

c++ - 条件随机场

是否有适合图像分类的2-D(二维)条件随机场(CRF)的训练和优化算法?有人用R(http://crf.r-forge.r-project.org/html/CRF-package.html)中的CRF包进行图像分类吗?我想查看一个有效的示例代码。谢谢。 最佳答案 查看马尔可夫随机场。这是您可能感兴趣的论文的链接:PatricPerez:MarkovRandomFieldsandImages(1998). 关于c++-条件随机场,我们在StackOverflow上找到一个类似的问题:

c++ - 了解随机数生成器的泊松分布

我正在使用C++11中提供的随机数生成器。目前,我使用的是均匀分布,这应该让我有相同的概率得到我指定的A和B范围内的任何数字。但是,我对生成泊松分布感到困惑。虽然我了解如何确定Poissonprobability,我不明白如何根据泊松分布“分布”随机数列。例如,泊松分布的C++11构造函数采用一个参数--λ,即meanofthedistributionstd::tr1::poisson_distributionpoisson(7.0);std::cout在泊松概率问题中,这等于给定时间间隔内的预期成功次数/出现次数。但是,我不明白它在这种情况下代表什么。什么是随机数场景中的“成功”/“

c++ - 在多个函数中共享一个随机引擎

所以简而言之,我的问题是:如何在不将引擎作为参数传递的情况下从另一个函数访问在main()中初始化的随机引擎?我读到在程序中只初始化一次随机引擎是一个好习惯。我会在main()函数的开头这样做:#include#include#includeusingstd::cout;usingstd::endl;usingstd::default_random_engine;usingstd::uniform_int_distribution;intmain(){intseed=time(0);default_random_engineengine(seed);uniform_int_distri

c++ - 用于随机访问压缩数据文件的简单 API

请推荐适合以下任务的技术。我有一个相当大的(500MB)数据block,它基本上是一个数字矩阵。数据熵很低(它应该是可压缩的)并且它所在的存储空间很昂贵。我正在寻找的是用一个好的压缩算法(比如GZip)压缩它,并带有允许非常偶然的随机访问的标记。随机访问,如“从原始(未压缩)流中的位置[64位地址]读取字节”。这与像ZLIB这样的经典deflator库有点不同,它可以让你连续解压缩流。我想要的是,在延迟为每字节读取多达1MB的解压缩工作时进行随机访问。当然,我希望使用现有的库而不是重新发明NIH的轮子。 最佳答案 如果您使用Java

c++ - 1 到 15 之间的随机数

我在C++中生成了很多需要介于1和15(含)之间的随机数。当然,我可以生成zillonsstd::uniform_int_distributionrandom(1,15);但这是一种浪费,因为这个mersenntwister生成32位(或者使用mt19937_64甚至是64位)的随机值,我只会保留4位并丢弃所有其余的,在我的情况下,性能是一个问题和随机数生成是一个重要的贡献者。因此,我的想法是生成一个介于0和2^64-1之间的64位随机值,并从中选择4位。问题是我找不到让生成的值介于1和15之间的方法。示例:unsignedlonglongintr=uniform(generator)

c++ - VC++ 11 中的 std::thread 类导致随机崩溃。任何解决方法?

我在VisualStudio11DeveloperPreview中遇到了一个错误,至少我认为这是一个错误并报告了它,但我很想知道是否有人知道解决方法。当我使用std::thread类创建多个线程时,它会导致应用程序崩溃。有时它会抛出异常,有时会导致访问冲突,有时它会起作用。重现错误的代码如下所示:#include#include#include#includeint_tmain(intargc,_TCHAR*argv[]){std::vectorthreads;for(inti=0;ijoin();deletethreads[i];}return0;}使用静态或动态CRT库并不重要(它