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的作用介绍及使用示例