C++ 测量程序运行时间 任务管理看内存
/*
* timer.cpp
*
* Created on: 2014年12月28日
* Author: judyge
*/
#include<cstring>
#include<iomanip>
#include<algorithm>
#include<cstdlib>
#include<cstdio>
#include<iostream>
#include<vector>
#include<stdio.h>
#include<time.h>
#include<windows.h>
#define MAXN 9999
#define MAXSIZE 1000
#define DLEN 4
using namespace std;
class BigNum
{
private:
int a[500]; //可以控制大数的位数
int len; //大数长度
public:
BigNum(){ len = 1;memset(a,0,sizeof(a)); } //构造函数
BigNum(const int);
friend ostream& operator<<(ostream&, BigNum&);
BigNum operator+(const BigNum &) const;
void print();
};
BigNum::BigNum(const int b) //将一个int类型的变量转化为大数
{
int c,d = b;
len = 0;
memset(a,0,sizeof(a));
while(d > MAXN)
{
c = d - (d / (MAXN + 1)) * (MAXN + 1);
d = d / (MAXN + 1);
a[len++] = c;
}
a[len++] = d;
}
ostream& operator<<(ostream& out, BigNum& b) //重载输出运算符
{
int i;
cout << b.a[b.len - 1];
for(i = b.len - 2 ; i >= 0 ; i--)
{
cout.width(DLEN);
cout.fill("0");
cout << b.a[i];
}
return out;
}
BigNum BigNum::operator+(const BigNum & T) const //两个大数之间的相加运算
{
BigNum t(*this);
int i,big; //位数
big = T.len > len ? T.len : len;
for(i = 0 ; i < big ; i++)
{
t.a[i] +=T.a[i];
if(t.a[i] > MAXN)
{
t.a[i + 1]++;
t.a[i] -=MAXN+1;
}
}
if(t.a[big] != 0)
t.len = big + 1;
else
t.len = big;
return t;
}
void BigNum::print() //输出大数
{
int i;
cout << a[len - 1];
for(i = len - 2 ; i >= 0 ; i--)
{
cout.width(DLEN);
cout.fill("0");
cout << a[i];
}
cout << endl;
}
int main(){
clock_t start,finish;
double time;
start=clock();
int i;
BigNum sum(0);
for(i=0;i<=65535179;i++)
{
BigNum tmp(i);
sum=sum+tmp;
}
cout<<sum<<"
";
finish=clock();
time=(double)((finish-start)/CLOCKS_PER_SEC);
printf("start:%ld finish:%ld finish-start:%ld runtime:%f
",start,finish,finish-start,time);
return 0;
}运行结果
2147429876048610 start:1 finish:37218 finish-start:37217 runtime:37.000000
声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。
- 上一篇:没有了
- 下一篇: html中隐藏域hidden的作用介绍及使用示例
