当试图在两个浮点之间随机化时,rand()函数不起作用
rand() function wont work when trying to randomizes between two floats
所以我必须在两个正浮点和两个负浮点之间随机化,负浮点为[-.010,-0.001],正浮点为[0.05,0.10]。我似乎不知道如何做到这一点,因为我不能像往常一样使用%运算符。这就是我当前的代码:
float randNeg = rand() % (10.0/-1000.0 + 1.0/-1000.0 - 1) + (1.0/-1000.0);
float randPos = rand() % (1.0 / 10.0 + 5.0 / 100.0 - 1) + (5.0 / 100.0);
如有任何帮助,我们将不胜感激!
rand()
返回一个介于0和RAND_MAX(包括0和RAND_MAX(之间的整数,因此您可以使用以下方法完全映射它:
float randFloat(float minVal, float maxVal)
{
return rand() / (float)RAND_MAX*(maxVal - minVal) + minVal;
}
但你真的应该好好想想你到底想用这个做什么。注意一般的rand()
函数,它是原始的,而且几乎不是随机的。试图将其用于加密货币或其他敏感内容会狠狠地咬你一口。
相关文章:
- 为什么 zlib 放气初始化调用一次不起作用?
- 尝试使用C++中的模板进行BST排序,但在使用随机字符串进行测试时不起作用
- 内部结构初始化不起作用 - C++
- C++ Arduino - 随机函数不起作用
- 该程序将.csv文件中的一系列单词放入数组中,然后随机生成句子.但它不起作用
- 即使我正在.cpp文件中实例化一个伪对象,.cpp文件内模板函数的定义也不起作用
- 模板 ctor 类型推导不起作用(没有匹配的构造函数用于初始化 ...)与函数<>参数
- 为什么显式模板实例化不起作用
- 子类化 STL 容器:范围构造函数不起作用
- 初始化 std::initializer_list 通过 std:: 初始化 std::p air 在初始化 std::array 时不起作用?
- 函数模板中的显式模板专用化不起作用
- 为什么显式模板实例化不起作用?
- 没有临时数组的列表初始化 - 在 GCC 中不起作用
- 模板化友元声明在 G++ 5.4.0 下不起作用 - 编译器错误或错误代码
- 在 C++ 中使用 10 个随机整数的数组进行气泡排序不起作用
- GCC:当层次结构中存在虚拟继承时,C++11 内联对象初始化(使用 "this")不起作用
- <int> 具有初始化的矢量工厂不起作用
- 初始化矢量的大小,否则附加不起作用,为什么
- 完整的模板专用化不起作用:没有与指定类型匹配的函数模板"mysort2"实例 STLests
- XLC:模板化类的大小不起作用