我已经看到这个问题了很多但从未见过真正的具体答案.所以我将在这里发布一个,希望能帮助人们理解为什么在使用随机数生成器时会出现"模数偏差",就像rand()在C++中一样.
toZero = rand() % N;
Run Code Online (Sandbox Code Playgroud)
这行代码给了我 Clang-Tidy:rand() 的随机性有限。为什么会出现这个警告?我该如何修复它?
我想生成一个随机布尔值用于游戏,因此它不需要加密安全.我将stdbool.h在我的代码中使用,我也已经完成了#include <stdlib.h>.优选地,它应该非常快(因为我将生成其中许多),并且它应该能够在C89中完成(只是偏好).我对C++中的这一切并不感兴趣.
以下是我提出的一些方法: