C语言中的执行时间
我使用了以下代码来计算搜索函数的执行时间(以毫秒为单位)C语言中的执行时间,c,C,我使用了以下代码来计算搜索函数的执行时间(以毫秒为单位) sBegin = clock(); searching(); sEnd = clock(); searchingTime = ((float)(sEnd-sBegin)/CLOCKS_PER_SEC)*1000; 例如,结果是952.000000。我想知道为什么小数点后的数字总是零?我怎样才能解决它?有没有更好的方法来计算C语言中的执行时间?如果要进行整数除法,请尝试 searchingTime = ((sEnd-sBegin)
sBegin = clock();
searching();
sEnd = clock();
searchingTime = ((float)(sEnd-sBegin)/CLOCKS_PER_SEC)*1000;
例如,结果是952.000000。我想知道为什么小数点后的数字总是零?我怎样才能解决它?有没有更好的方法来计算C语言中的执行时间?如果要进行整数除法,请尝试
searchingTime = ((sEnd-sBegin)/(float)CLOCKS_PER_SEC)*1000;
还有其他地方,你可以放置演员,得到同样的东西,这只是一种可能性
编辑:
在这里,检查问题和答案。我想这些可能会回答你的问题(基本上,它看起来不像
clock()
会切断它)。我上面的答案是错的。你在做整数除法,试试看
searchingTime = ((sEnd-sBegin)/(float)CLOCKS_PER_SEC)*1000;
还有其他地方,你可以放置演员,得到同样的东西,这只是一种可能性
编辑:
在这里,检查问题和答案。我想这些可能会回答你的问题(基本上,它看起来不像clock()
会切断它)。我上面的答案是错的。请参见:
它取决于时钟的分辨率。如果返回的值精度为1毫秒,则无法测量小于1毫秒的差值。在您的系统上似乎就是这样
没有更好的便携式时间测量方法。也许您的平台提供了特定的功能,以获得更高分辨率的系统时间。请参阅:
它取决于时钟的分辨率。如果返回的值精度为1毫秒,则无法测量小于1毫秒的差值。在您的系统上似乎就是这样
没有更好的便携式时间测量方法。可能您的平台提供了特定的函数,以获得具有更好分辨率的系统时间。典型系统上的clock()
分辨率大约为10或20毫秒。代码中缺少左括号(float)((sEnd sBegin)/CLOCKS\u PER\u second)*1000
或((float)(sEnd sBegin)/CLOCKS\u PER\u second)*1000
或…?@undur\u gongor:结果没有改变。典型系统的clock()
分辨率大约为10或20毫秒。代码中缺少左括号<代码>(float)((发送sBegin)/每秒时钟)*1000
或((float)(发送sBegin)/每秒时钟)*1000
或…?@undur\u gongor:结果没有改变。我不想得到同样的结果。我想要小数点后的数字。在我的程序中,小数点后的数字总是零。我的意思和我的例子一样,和你做整数时的答案不一样division@GuyGreer:这不是原因(请参阅更正的问题)。无论如何,952不是1000的倍数。@undur_gongor:我把丢失的一个放在正确的位置,但它没有导致浮点除法。@Ghazallahbari:你已经在做浮点除法了。这不是问题所在。你读过Kerrek SB的评论吗?我不想得到同样的东西。我想要小数点后的数字。在我的程序中,小数点后的数字总是零。我的意思和我的例子一样,和你做整数时的答案不一样division@GuyGreer:这不是原因(请参阅更正的问题)。无论如何,952不是1000的倍数。@undur_gongor:我把丢失的一个放在正确的位置,但它没有导致浮点除法。@Ghazallahbari:你已经在做浮点除法了。这不是问题所在。你读过Kerrek SB的评论吗?