找回密码
 立即注册
查看: 1256|回复: 10

while (--k)什么时候结束?

[复制链接]
  • 打卡等级:常住居民II
  • 打卡总天数:95
  • 最近打卡:2024-04-19 08:18:54

34

主题

85

回帖

670

积分

高级会员

积分
670
发表于 2023-11-21 19:23:14 | 显示全部楼层 |阅读模式
哪位高手知道:
int k = -1;

while (--k);
这个循环什么时候结束?
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:579
  • 最近打卡:2025-07-01 07:56:05
已绑定手机

50

主题

1827

回帖

3212

积分

论坛元老

积分
3212
发表于 2023-11-21 20:47:26 | 显示全部楼层
直接结束吧
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民II
  • 打卡总天数:95
  • 最近打卡:2024-04-19 08:18:54

34

主题

85

回帖

670

积分

高级会员

积分
670
发表于 2023-11-23 22:35:37 | 显示全部楼层
suncat0504 说的非常正确,看看 stc-isp-v6.92G.exe 给出的软件延时函数,犯了非常低级的错误,到了这个版本还没有改正,大家看看这个函数能延时 20ms 吗?

void Delay20ms(void)        //@11.0592MHz
{
        unsigned char data i, j;

        i = 216;
        j = 37;
        do
        {
                while (--j);
        } while (--i);
}

点评

int 型的 -1 在内存 以补码形式存储 是0xffff 当它减到0 循环就结束了 --------------------------------------------------------------- ISP 的延时函数没问题。 应该是你的理解存在有误的地方  详情 回复 发表于 2023-11-24 08:33
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:217
  • 最近打卡:2024-11-15 09:12:27

29

主题

722

回帖

2800

积分

荣誉版主

积分
2800
发表于 2023-11-24 08:33:02 | 显示全部楼层
liuyan*** 发表于 2023-11-23 22:35
suncat0504 说的非常正确,看看 stc-isp-v6.92G.exe 给出的软件延时函数,犯了非常低级的错误,到了这个版 ...

int 型的  -1 在内存  以补码形式存储   是0xffff
当它减到0  循环就结束了
---------------------------------------------------------------
ISP 的延时函数没问题。
应该是你的理解存在有误的地方





回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:564
  • 最近打卡:2025-07-01 08:44:16

13

主题

206

回帖

522

积分

高级会员

积分
522
发表于 2023-11-24 09:15:02 | 显示全部楼层
学习中
回复

使用道具 举报 送花

  • 打卡等级:常住居民II
  • 打卡总天数:95
  • 最近打卡:2024-04-19 08:18:54

34

主题

85

回帖

670

积分

高级会员

积分
670
发表于 2023-11-24 20:19:09 | 显示全部楼层
明白了,也就是说,第一次让 while(--j)循环37次,以后让 while(--j)循环255次。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:280
  • 最近打卡:2025-06-15 00:24:41

13

主题

109

回帖

394

积分

中级会员

积分
394
发表于 2023-12-3 09:53:47 来自手机 | 显示全部楼层
数据为正执行,为负退出
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:445
  • 最近打卡:2025-07-01 07:40:53

46

主题

390

回帖

1784

积分

金牌会员

静坐常思己过,闲谈莫论人非

积分
1784
发表于 2023-12-3 12:20:06 | 显示全部楼层
根本一次循环都进不去,即使int k=1都进不去循环
处事要代人所想,读书需切己用功
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:445
  • 最近打卡:2025-07-01 07:40:53

46

主题

390

回帖

1784

积分

金牌会员

静坐常思己过,闲谈莫论人非

积分
1784
发表于 2023-12-3 12:23:58 | 显示全部楼层
liuyan*** 发表于 2023-11-23 22:35
suncat0504 说的非常正确,看看 stc-isp-v6.92G.exe 给出的软件延时函数,犯了非常低级的错误,到了这个版 ...

大约2.9ms吧
处事要代人所想,读书需切己用功
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:544
  • 最近打卡:2025-07-01 07:35:27
已绑定手机

28

主题

724

回帖

793

积分

高级会员

打工人

积分
793
发表于 2024-2-23 09:46:52 | 显示全部楼层
gentl*** 发表于 2023-11-24 08:33
int 型的  -1 在内存  以补码形式存储   是0xffff
当它减到0  循环就结束了
--------------------------- ...

打工人
回复 支持 反对

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-7-1 12:47 , Processed in 0.128458 second(s), 106 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表