我想生成包含次普通浮点数的浮点数。我们可以使用rand()的例程math.h来实现此目的吗?编程语言应为C99。我希望这个随机数从[-1e308到1e308]均匀分布。

最佳答案

union {
  int a;
  float b;
} Number;

Number.a = rand();
printf("%f\n", Number.b);


这使用随机整数的位掩码来创建具有相同位掩码的浮点数。

关于c - 是否可以使用math.h的rand()生成包括次法线在内的随机浮点数?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31147496/

10-14 05:28