您好、欢迎来到现金彩票网!
当前位置:彩70 > 符号常量 >

C语言的for循环中执行一次需多少机器周期?

发布时间:2019-07-12 22:37 来源:未知 编辑:admin

  可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

  赋值语句的耗时一般是不计入时间消耗的(就像我们计算时间复杂度时,不考虑赋值的时间消耗一样)

  其次不同的单片机执行语句的机器周期也不一定一样(比如:Atmel 51系列及大多数51的一个机器周期是12个时钟周期,华邦的只需要4个时钟周期)。不过大体来说,一条for循环大概8个机器周期,在12M晶振下,通常用以下代码实现1ms的延时:

  大概算一下,120*8*1us=1ms,如果需要精确的定时,还是得用定时器。

  展开全部机器周期当然是在单片机上才有的说法,不同的单片机采用不同的编译软件,最终都是转成汇编、机器码烧录进单片机。

  而且,如果 i 或 n 为 int 型,单片机为 8位单片机,那么结果也不一样,8位单片机只能进行8位运算,对 int 型的 16位数据,需要进行 拆分(分高、低8位),判断时需先比较高8位,条件无法判断,再进行比较低8位。16位数据 赋值 与 自增 运算也是需要想进行低8位运算,再根据 借位(进位)结果进行高8位运算。整个过程增加了不少执行周期,远大于目前的12个机械周期

  这里clock_t 是clock()函数返回类型的别名,意味着可以讲变量声明为clock_t类型,接受clock()函数返回值

  不过我试了一下,好像,就算让for循环不执行空语句,100次for循环所用的系统时间也是0.0

http://hayleylord.com/fuhaochangliang/718.html
锟斤拷锟斤拷锟斤拷QQ微锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷微锟斤拷
关于我们|联系我们|版权声明|网站地图|
Copyright © 2002-2019 现金彩票 版权所有