clock_tend=clock()-start clock;level=1;

10581人阅读
&&&& clock tick:时钟计时单元(而不把它叫做时钟滴答次数),一个时钟计时单元的时间长短是由CPU控制的,
&&&& 一个clock tick不是CPU的一个时钟周期,而是C/C++的一个基本计时单位。
&&&& clock函数:clock_t clock(); 这个函数返回从&开启这个程序进程&到&程序中调用clock()函数&时之间
&&&& 的CPU时钟计时单元 (clock tick)数,在MSDN中称之为挂钟时间(wal-clock)。
&&&& clock_t定义: #ifndef _CLOCK_T_DEFINED&&&&&&&&&&&&&&& typedef long clock_t;&&&&&&&&&&&&&&& #define _CLOCK_T_DEFINED&&&&&&&&&&&&&&&&#endif
&& #define CLOCKS_PER_SEC ((clock_t)1000):
&& 可以看到每过千分之一秒(1毫秒),调用clock()函数返回的值就加1
&& #include &stdio.h&
#include &time.h&
int binsearch(int x, int v[], int n);
int main()
int num[11] = {0,-5,3,63,9,4,7,6,8,5,10};
int tag = 8;
start = clock();
res = binsearch(tag, num, 11);
finish = clock();
printf("%ld, %ld/n", start, finish);
printf("%d/n%f/n", res, (double)(finish - start) / CLOCKS_PER_SEC);
//而非(double)((finish - start) / CLOCKS_PER_SEC)
int binsearch(int x, int v[], int n)
//折半查找
long time = ;
int low = 0;
int high = n-1;
while(time--)
while(low &= high)
mid = (low + high) / 2;
if(x & v[mid])
high = mid - 1;
else if(x & v[mid])
low = mid + 1;
return -1;
/*#include &stdio.h&
#include &time.h&
int main()
long i = ;
start = clock();
while(i--)
finish = clock();
printf("%f/n",(double)(finish - start) / CLOCKS_PER_SEC);
//执行完while循环一共花费0.031s,即31个时钟计时单元
//每个时钟计时单元执行了322580次循环。
&& 分析:L20:如果写成(double)((finish - start) / CLOCKS_PER_SEC)这种形式,一般情况下这个值会为0.0000
&&&&&&&&&&&& 因为finish start CLOCKS_PER_SEC均为long型变(常)量,若finish-start & 1000,则
&&&&&&&&&&&& (finish - start) / CLOCKS_PER_SEC = 0,再将其强制转换为double型数据,得到0.0000。
&&&&&&&&&&&& 如果写成(double)(finish - start) / CLOCKS_PER_SEC,先会将finish - start转换成double型
&&&&&&&&&&&& 数据,然后执行"/"操作,则编译器自动将CLOCKS_PER_SEC提升为double型,故而是两个double数据相除
&&&&&&&&&&&& 能得到正确结果。
&&&&&&& L33:Q:为什么要加上while(i--);?
&&&&&&&&&&&& A:本机测试到每个时钟计时单元执行了322580次上述循环,如果不加这个循环,则在瞬间就会执行完
&&&&&&&&&&&&&&& binsearch函数,这样得到的start,finish数值会是一样的,故而(finish - start) = 0,
&&&&&&&&&&&&&&& 这样会得到执行函数binsearch函数所花费的时间为0,显然这是不对的。
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:73450次
积分:1040
积分:1040
排名:千里之外
原创:29篇
评论:23条
(1)(2)(4)(6)(14)(2)}

我要回帖

更多关于 start clock 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信