在C++中生成一个包含负范围的随机数
Generating a random number in C++ including a negative range
我发现了很多关于如何在C++中生成一个介于1和10之间的随机数的帖子,但当包含负数时,我很难找到这样做的方法。我试图得到一个在[-1,1)范围内生成的随机数,但我找不到一个包含负数的好例子。
如果您谈论的是实数,请使用std::uniform_real_distribution
:
std::default_random_engine generator(
std::chrono::system_clock::now().time_since_epoch().count());
std::uniform_real_distribution<double> distribution(-1.0, 1.0);
std::cout << distribution(generator) << std::endl;
请确保包含<random>
。这是一个活生生的例子。
如果你只限于rand()
,这是你能做的最好的事情:
srand(static_cast<unsigned int>(time(NULL)));
double x = -1. + rand() / (RAND_MAX / 2.);
std::cout << x << std::endl;
请确保包含<cstdlib>
或<stdlib.h>
。这是另一个活生生的例子。但请注意,<random>
标头比rand()
更可取。请参阅此演示文稿了解为什么rand()被认为是有害的,以获取更多信息。
相关文章:
- 我可以创建一个包含两个变量的 for 循环,但时间复杂度仍然为 O(n) 吗?
- 在 c++ 中,有一种方法可以创建一个包含地图作为值的树状地图?
- 创建一个包含 c++ 默认值的环境文件
- 有没有办法生成一个包含平方的序列,这些平方加起来就是一个整数平方?
- 如何在 c++ 项目中包含一个包含所有头文件?
- Atmel Studio:返回一个包含数组的寄存器
- 创建一个包含30亿个uint8元素的向量
- 最大数量.给定一个非负整数列表,排列它们以使它们形成最大的数字
- 如何创建一个包含三种不同类型的向量的向量
- 我需要声明一个包含整数向量的 4x4 矩阵
- 为Qt项目的每个模块添加一个包含
- 给定一个包含 n 个整数和一个整数 x 的未排序数组 A,重新排列 A 中的元素
- 我有一个包含几个重复元素的数组,我想找到最接近数组末尾的重复元素的索引
- 创建一个包含对 <int、自定义类的最小堆>
- 如何从另一个包含目录中的标头访问包含目录中的标头
- 从c#lib返回一个包含字符串到c 程序的结构
- 如何正确创建一个包含由不同类的实例组成的联合的类?
- 制作一个包含 2 个 .cpps 和一个头文件的生成文件
- 我们可以制作一个包含对的数组吗
- 在C++中生成一个包含负范围的随机数