#include <stdio.h>#include <stdlib.h>#include <time.h>unsigned long ulrand(void) { return ( (((unsigned long)rand()<<24)&0xFF000000ul) |(((unsigned long)rand()<<12)&0x00FFF000ul) |(((unsigned long)rand() )&0x00000FFFul));}int i;unsigned long ul;void main() { srand(time(NULL)); for (i=0;i<10;i++) { ul=ulrand(); printf("%010lu 0x%08x\n",ul,ul); }}//2337588057 0x8b54c359//1977377429 0x75dc6295//3607316769 0xd7034921//0009828482 0x0095f882//3350859779 0xc7ba1003//0945794621 0x385fae3d//3400869024 0xcab524a0//3097846779 0xb8a563fb//4287421124 0xff8cdac4//3934016258 0xea7c5302
本文介绍了一个使用C语言实现的32位随机数生成器。该生成器通过组合多次调用标准库函数rand()来产生一个32位的随机整数,并展示了如何利用srand()初始化随机种子以确保每次程序运行时都能获得不同的随机数序列。
1826

被折叠的 条评论
为什么被折叠?



