gpt4 book ai didi

c++ - 如何在 C/C++ 中的一个 unsigned char 中生成两个随机 1?

转载 作者:太空宇宙 更新时间:2023-11-04 07:37:23 25 4
gpt4 key购买 nike

我需要生成一个掩码 vector (无符号字符类型),其中仅包含 2 个“1”,即 0x03、0x50 等。

我还需要在 vector 中随机分布这两个“1”。

我如何在 C/C++ 中执行此操作?

谢谢!

编辑:这里提出了一个更具挑战性和一般性的案例。 How to generate n random 1s in an unsigned char array in c/c++?

最佳答案

我会这样做:

srand(time(0));
int s[8];
for (int i=0; i<8; i++) s[i] = i;
// s[0], s[1] are two random locations for '1's
u = rand()%8;
swap(s[0], s[u]);
v = rand()%7+1;
swap(s[1], s[v]);
unsigned char c = (1 << s[0]) | (1 << s[1]);

关于c++ - 如何在 C/C++ 中的一个 unsigned char 中生成两个随机 1?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7748666/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com