VC中,如何生成随机的01字符串
发布网友
发布时间:2022-07-10 22:37
我来回答
共2个回答
热心网友
时间:2022-07-11 20:05
直接生成1k位的函数应该没有,因为一个基本数据类型最大也是8字节(double)。肯定是要通过一定的运算获得的。我想了两个优化的方式:
1。可以只调用一次随机函数,然后利用一定的函数算出1k位,类似于哈希函数的思想
2。可以调用1k/32(一个整数4字节32位)次随机函数生成不同的整数,然后通过移位操作符获得各位上是0还是1
当然也可以将两者结合使用,比如说产生50个随机数,通过移位可以各自获得8个,再通过构造一定的函数各自再获得12位,最后就能得到1000位的随机01字串了。
热心网友
时间:2022-07-11 20:06
那就搞一千次0/1随机吧!
time_t t;
srand((unsigned) time(&t));
for(i=0; i<1000; i++)
{
printf("%d", rand() % 2);
}
printf("\n");