我在使用C++生成二进制随机数时遇到问题.我想创建一个数组,每个元素都包含二进制形式的随机数.我想要将XOR元素放在一起.这是我的代码
void Msg::setXOR(double Code)
{
int array[30];
srand ( time(0) );
for(int j = 0;j<30;j++)
{
i = rand();
array[j]=i
double x = array[j]^ array[j+1]^ array[J+2];
code = x ;
this -> code_var = code
}
}
Run Code Online (Sandbox Code Playgroud)
它不起作用,它不会产生二进制随机数.任何人都可以帮助我如何解决它?
std::default_random_engine generator;
std::uniform_int_distribution<int> distribution;
auto generatef = std::bind(distribution,generator);
std::array<int,30> array;
std::generate(array.begin(), array.end(), generatef);
double x = std::accumulate(array.begin(), array.end(), 0, std::bit_xor<>);
Run Code Online (Sandbox Code Playgroud)