这个C++延时函数怎样理解

2020-02-02 09:39发布

下面这个延时函数怎么看呢?求解
void delay()
{
long int bl1;
int bl2;
for(bl1=655356;bl1>0;bl1--)
        {
        for(bl2=410;bl2>0;bl2--);
        }
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
40条回答
dudududu
1楼-- · 2020-02-04 00:04
12M晶振的话,传统51,估计的200多秒把
takashiki
2楼-- · 2020-02-04 04:34
 精彩回答 2  元偷偷看……
renwocai
3楼-- · 2020-02-04 05:28
不好意思,我只是凭直觉认为你的计算有误,然后开计算器大致算了下。以下是软件仿真的结果:
takashiki
4楼-- · 2020-02-04 07:52
本帖最后由 takashiki 于 2012-9-11 11:17 编辑
renwocai 发表于 2012-9-11 11:01
不好意思,我只是凭直觉认为你的计算有误,然后开计算器大致算了下。以下是软件仿真的结果:
...


你还真没完了,直觉是不靠谱的!

for(bl1=655356;bl1>0;bl1--)
是655356,不是65536,是6位数,多出了一个数量级。你说,到底是不是2000多秒?

实际结果当然不对,我的计算是有误的,因为还没有计算外围循环跳转的时间,函数调用和返回的时间,算上的话,时间更多,虽然多不了多少。
Tliang
5楼-- · 2020-02-04 12:29
takashiki 发表于 2012-9-11 11:09
你还真没完了,直觉是不靠谱的!

for(bl1=655356;bl1>0;bl1--)

阿弥陀佛,两位施主不要因为一个小女子而伤了和气啊!
renwocai
6楼-- · 2020-02-04 16:04
takashiki 发表于 2012-9-11 11:09
你还真没完了,直觉是不靠谱的!

for(bl1=655356;bl1>0;bl1--)

呵呵,我怎么没看清楚。你是对的。最终仿真结果为2183.646629秒。就不上图了。

一周热门 更多>