统计算法
在给定的范围内求出符合设定条件的记录个数
统计算法是利用统计学原理处理数据的算法,用于数据的收集、分析、解释,像计算均值、方差的算法等。
基本思想
用一个条件语句判断当前记录是否符合给定条件,符合则统计个数加一。用循环实现对所有记录的操作。
举例说明
例一、从键盘敲进任意个(少于255个)字符,然后求出其中某一个字母的个数(如大写字母A)。
分析:用一个字符串变量来接受从键盘输入的字符,然后从第一个字符开始对每一个字符进行处理,如果是A则个数加一,最后把总的统计个数输出。
使用方法
1.使用的clock()函数
模板程序
用clock()函数能够精确到1ms,但是它不是标准化所推荐的而且工业化程序也不容许使用
2.使用GetTickCount
这个和clock()相同,只是它比较标准,GetTickCount可以到18-20ms进度
前面的都是在MS级别逗留的计时,当我们需要统计一个语句使用时间的时候,我们通常经过多次循环来求总时间。
缺点:1)由于需要统计的语句耗时可能比循环需要的JMP,INC指令耗时还要少(尤其JMP指令很慢),所以统计并不精确,大多耗时为循环使用时间
2)编译器对于循环有优化,可能与单语句的汇编代码不同造成统计结果无参考意义
所以我们能不能避免这些问题呢?可以使用
直接读取CPU开机以来执行的机器周期数,一条汇编指令:RDTSC(就是ReaDTimeStampCount)精度可以达到ns级别。(准确地说精度是1/你的CPU的时钟频率,这也是极限)使用:longHighStart,LowStart,HighEnd,LowEnd;
参考资料
最新修订时间:2024-11-11 11:08
目录
概述
基本思想
举例说明
参考资料