c - 在 C 中生成随机 bool 值的简单方法是什么?

标签 c random

<分区>

我想生成一个随机 bool 值用于游戏,因此它不需要加密安全。我会用stdbool.h在我的代码中,我也完成了 #include <stdlib.h> .最好它应该非常快(因为我将生成其中的许多),并且应该能够在 C89 中完成(只是偏好)。我对使用 C++ 执行此操作完全不感兴趣。

以下是我想出的一些方法:

  • 从/dev/urandom 读取,过滤掉单个数字和 >5 = true,<5 = false。
  • 继续调用 rand() 并过滤掉低/高值。

最佳答案

只需调用 rand() 并获取其返回值的 LSB。

bool randbool = rand() & 1;

记得在开头调用srand()

关于c - 在 C 中生成随机 bool 值的简单方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33060893/

相关文章:

c - 在 C 中使用 ALSA 和 Ogg vorbis 实现声音播放器

c - 分配内存时报错 "initializer element is not constant"

java - 将随机数组编号替换为零

python - 随机列表生成不起作用

random - "Random Article"wikipedia.com 上的功能

'C' 中的 CPU 密集型操作

c++ - MailSlot写发送同样的东西三次C/C++

Java随机生成两位小数格式的价格

c++ - 是否有不需要包含标准库的 C/C++ 编译器?

random - 从直方图生成随机数