最大32767 (2^16-1)。\x0d\x0a系统里的随机数是利用初等数论中的同余定理来实现的.\x0d\x0a整数rand的原理是: \x0d\x0a y=ax+b(mod n)其中,n一般是一个很大的素数,几万。 \x0d\x0a a也是大素数。而且a,b,n都是常数。所以rand的产生决定于x, \x0d\x0a 他被称为seed。 \x0d\x0a 每一个seed都是上一次产生的y的函数。这样,如果直接取seed=y的话, \x0d\x0a 虽然产生的rand之间相关性甚小,但只要知道某个y,就能推知以后的rand。 \x0d\x0a 为避免这种情况,一般取seed为y和当时计算机的时间的函数,如seed=y+t\x0d\x0a\x0d\x0a比如VC中对于rand()函数是如下实现的. \x0d\x0a int __cdecl rand (void) \x0d\x0a { \x0d\x0a return(((holdrand = holdrand * 214013L + 2531011L) 16) 0x7fff); \x0d\x0a }
专业成都网站建设公司,做排名好的好网站,排在同行前面,为您带来客户和效益!创新互联为您提供成都网站建设,五站合一网站设计制作,服务好的网站设计公司,成都做网站、成都网站建设、成都外贸网站建设负责任的成都网站制作公司!
最大随机数因平台不同而不同
在C头文件中定义有RAND_MAX这个宏
在stdlib.h里面
你可以查看这个文件 或者打印
#include stdio.h
#include stdlib.h
int main()
{
printf("RAND_MAX= %d\n", RAND_MAX);
return 0;
}
我用的是gcc 4.8.4 得到的结果是 2147483647
c语言随机数函数是 rand()
若要输出1~10之间的随机数,
可用rand()%10+1。
#include stdio.h
#include stdlib.h
#include time.h
int main()
{
int n,i,max;
srand(time(NULL));
max = rand();
for(i = 1; i10;i++)
{
n=rand();
if(nmax)max=n;
}
printf("max=%d\n", max);
return 0;
}
售后响应及时
7×24小时客服热线数据备份
更安全、更高效、更稳定价格公道精准
项目经理精准报价不弄虚作假合作无风险
重合同讲信誉,无效全额退款