c++如何生成浮点数随机数(含负数)
时间: 2024-10-10 21:10:46 浏览: 17
在C++中,你可以使用 `<random>` 和 `<cmath>` 库来生成浮点数随机数,包括负数。下面是一个简单的例子,展示如何从正态分布(平均值0,标准差1)生成随机浮点数:
```cpp
#include <iostream>
#include <random>
#include <cmath>
// 定义生成器
std::default_random_engine generator(std::chrono::system_clock::now().time_since_epoch().count());
std::normal_distribution<double> distribution(0.0, 1.0); // 正态分布 (平均值0,标准差1)
double generate_float() {
return distribution(generator);
}
int main() {
double random_num = generate_float();
std::cout << "Generated float number (including negative): " << random_num << std::endl;
return 0;
}
```
在这个例子中,`generate_float()` 函数会返回一个范围在 (-无穷到+无穷) 的浮点数,但由于正态分布,大多数结果将集中在平均值附近。如果需要特定范围的负数,可以稍微调整平均值和标准差。
阅读全文