最近在学习如何提高代码的运行效率,便索性把几种常用的基本数据类型的运算速率比较一下,代码和结果如下:
#include<iostream>
#include<ctime>
using namespace std;
int main()
{
clock_t start, end;
start = clock();
for (int i = 0; i < 20000000; i++)
{
unsigned sum = 0;
for (unsigned i = 0; i < 1000; i++)
{
sum += i;
}
}
end = clock();
cout << "无符号整型unsigned所用时间:"<<(end - start) / CLK_TCK << endl;
start = clock();
for (int i = 0; i < 20000000; i++)
{
int sum = 0;
for (int i = 0; i < 1000; i++)
{
sum += i;
}
}
end = clock();
cout << "基本整型int所用时间:"<<(end - start) / CLK_TCK << endl;
start = clock();
for (int i = 0; i < 20000000; i++)
{
float sum = 0.0;
for (float i = 0.0; i < 1000; i++)
{
sum += i;
}
}
end = clock();
cout << "单精度浮点型float所用时间:" << (end - start) / CLK_TCK << endl;
start = clock();
for (int i = 0; i < 20000000; i++)
{
double sum = 0.0;
for (double i = 0.0; i < 1000; i++)
{
sum += i;
}
}
end = clock();
cout << "双精度浮点型double所用时间:" << (end - start) / CLK_TCK << endl;
return 0;
}
运行结果如下:
结论:在比较中,无符号整型和基本整型的效率差不多,两种浮点型的效率差不多。所以以后能用整型表示的地方就尽可能不要使用浮点型,这效率可是高了一倍啊。