找回密码
 马上注册

QQ登录

只需一步,快速开始

查看: 8597|回复: 12

为什么我的这个循环结束不了?

[复制链接]
发表于 2018-12-27 19:36:44 | 显示全部楼层 |阅读模式
QQ截图20181227193347.png
如图,循环跳不出来,按理速度到-20就应该跳出来了啊。
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
发表于 2018-12-27 20:49:58 | 显示全部楼层
你把条件改为<=试试呢
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2018-12-28 10:05:01 | 显示全部楼层
本帖最后由 蜕变成回忆 于 2018-12-31 08:59 编辑

对不起,上一个评论看错了。学习一下
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2018-12-28 10:16:02 | 显示全部楼层
试了下,还真跳不出来,好囧
采集了下数据,好奇葩。部分数据如下:

-21
-21.1
-21.2
-21.3001
-21.4001
-21.5001

只是减-0.1,怎么会出现这情况,还真是一脸懵逼啊。
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2018-12-28 10:22:46 | 显示全部楼层
用舍入模块试一试
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2018-12-28 10:47:41 | 显示全部楼层
刚才qq群问了下,这个是浮点运算累积的误差导致的。
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2018-12-28 10:51:21 | 显示全部楼层
本帖最后由 布衫客 于 2018-12-28 10:54 编辑

这应该是有误差 如4楼所测 差个0.0001 达不到刚好-20  所以跳循环条件设成<= 而且中间最好加个等待时间,不然的话程序在很短时间内就结束了
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2018-12-28 12:33:28 | 显示全部楼层
简单一点用舍入模块取整数就好了
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2018-12-28 13:32:07 | 显示全部楼层
用小于-20就可以
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2018-12-29 11:10:45 | 显示全部楼层
小于等于就可以
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2018-12-30 11:34:31 | 显示全部楼层
判断条件的问题,模块执行存在时间差,变量值恰好等于-20的时间比较短,可以试试改成小于
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2018-12-31 11:27:50 | 显示全部楼层
加0.01秒等待试试
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

 楼主| 发表于 2019-1-18 10:37:52 | 显示全部楼层
4楼 6楼 7楼说的都是对的,那天我自己搞出来了,但忘了来论坛回帖,确实像他们说的一样,我们看到的电机的功率都是整数,但实际在程序里并不是整数,功率是个浮点型的数值,带有小数部分,所以我让电机功率等于-20的时候停止它永远不会停,改成≤-20就好了。
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

手机版|中文乐高 ( 桂ICP备13001575号-7 )

GMT+8, 2025-2-8 02:10 , Processed in 0.215722 second(s), 22 queries .

Powered by Discuz! X3.5

Copyright © 2001-2020, Tencent Cloud.

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