卓越飞翔博客卓越飞翔博客

卓越飞翔 - 您值得收藏的技术分享站
技术文章64336本站已运行4115

c语言怎么写随机浮点数

c 语言中生成随机浮点数有三种方法:使用 rand():生成 [0.0, 1.0) 范围内的浮点数。使用 randf():直接生成 [0.0, 1.0) 范围内的浮点数。指定范围:通过线性变换或拒绝法生成指定范围内的浮点数。

c语言怎么写随机浮点数

C 语言生成随机浮点数的方法

在 C 语言中,可以通过使用标准库函数 rand() 和 randf() 来生成随机浮点数。

1. 使用 rand()

rand() 函数生成一个伪随机整数,范围为 [0, RAND_MAX]。通过将该值除以 RAND_MAX,即可获得一个浮点数,范围为 [0.0, 1.0)。

#include <stdlib.h>

double get_random_float() {
  return (double) rand() / (double) RAND_MAX;
}</stdlib.h>

2. 使用 randf()

randf() 是 C99 标准中引入的,专门用于生成随机浮点数。它直接返回一个范围为 [0.0, 1.0) 的浮点数。

#include <math.h>

double get_random_float() {
  return randf();
}</math.h>

3. 生成指定范围内的随机浮点数

可以通过两种方法在指定范围内生成随机浮点数:

  • 扩展范围:对伪随机浮点数应用一个线性变换,将范围扩展到所需要的范围。
  • 拒绝法:反复生成随机浮点数,直到其落在所需范围内。

例如,要在 [a, b] 范围内生成随机浮点数:

double get_random_float_in_range(double a, double b) {
  return a + (b - a) * get_random_float();
}
卓越飞翔博客
上一篇: c语言怎么读取浮点数据
下一篇: c语言怎么判断浮点数
留言与评论(共有 0 条评论)
   
验证码:
隐藏边栏