在 Linux 系统中,生成随机浮点数是一个常见的任务。通常,可以通过以下 实现:
C 语言库函数
C 标准库提供了 rand()
函数,可生成一个范围为 [0, RAND_MAX]
的伪随机整数。要生成一个随机浮点数,可以将其除以 RAND_MAX
:
include
int main() {
double random_float = (double) rand() / (double) RAND_MAX;
// 使用生成的随机浮点数
// ...
return 0;
}
C++ 标准库
C++ 标准库提供了 std::rand()
函数。类似于 rand()
函数,它可以生成一个范围为 [0, RAND_MAX]
的伪随机整数。可以使用 std::uniform_real_distribution
类来将其转换为一个指定范围的随机浮点数:
include
int main() {
std::random_device rd;
std::mt19937 gen(rd());
std::uniform_real_distribution<> dist(0.0, 1.0);
double random_float = dist(gen);
// 使用生成的随机浮点数
// ...
return 0;
}
Python 内置函数
Python 提供了 random.random()
函数,可生成范围为 [0.0, 1.0)
的随机浮点数:
import random
random_float = random.random()
使用生成的随机浮点数
...
Bash 内置命令
Bash shell 提供了一个内置命令 $RANDOM
,可生成一个范围为 [0, 32767]
的伪随机整数。要生成一个随机浮点数,可以将其除以 32768
:
random_float=$(echo "$RANDOM / 32768" | bc)
使用生成的随机浮点数
...
其他工具
除了上述 外,还有许多其他工具和库可用于在 Linux 中生成随机浮点数,例如:
* GNU Libc