<分区>
我想生成一个随机 bool 值用于游戏,因此它不需要加密安全。我会用stdbool.h
在我的代码中,我也完成了 #include <stdlib.h>
.最好它应该非常快(因为我将生成其中的许多),并且应该能够在 C89 中完成(只是偏好)。我对使用 C++ 执行此操作完全不感兴趣。
以下是我想出的一些方法:
- 从/dev/urandom 读取,过滤掉单个数字和 >5 = true,<5 = false。
- 继续调用 rand() 并过滤掉低/高值。
<分区>
我想生成一个随机 bool 值用于游戏,因此它不需要加密安全。我会用stdbool.h
在我的代码中,我也完成了 #include <stdlib.h>
.最好它应该非常快(因为我将生成其中的许多),并且应该能够在 C89 中完成(只是偏好)。我对使用 C++ 执行此操作完全不感兴趣。
以下是我想出的一些方法:
最佳答案
只需调用 rand()
并获取其返回值的 LSB。
bool randbool = rand() & 1;
记得在开头调用srand()
。
关于c - 在 C 中生成随机 bool 值的简单方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33060893/