/********************************writor;liuyongtime;*********************************/#include<>#include<>#include<>#//以太网中争用期时间2T(单位为微秒)intGetRand(intmin,intmax)//得到min到max{//SYSTEMTIMEt;//GetSystemTime(&t);//取系统时间,格林威治时间之间的一个随机数//srand();intr=rand()%(max-min+1)+min;returnr;}intTwoPowerK(intk)//二的k次幂{inta=2;intf=1;while(k--){f*=a;}returnf;}intResend(inti)//第i次重传操作,计算重传退避时间,等待后重传//(具休实现未定义,仅用于演示,显示退避时间){intr,MAX;doubleBackTime;printf("开始退避操作!");if(i<=10)MAX=TwoPowerK(i)-1;if(i>10){printf("重传次数超过10,从10截止。\n");MAX=TwoPowerK(10)-1;}printf("随机数范围:0到%d\n",MAX);r=GetRand(0,MAX);printf("得到的随机数r为:%d\n",r);BackTime=r*CONTENTION_PERIOD;printf("退避时间为:*BackTime=%f微秒\n",BackTime);printf("退避完成,开始重传!\n");return0;}voidmain(){intk=0;//用以表示重传的次数intp;//用于自己设置发生碰撞
c语言实现截断二进制指数避退算法 来自淘豆网m.daumloan.com转载请标明出处.