技成培训网 技成学习APP 技成工具箱 技成企业服务

欢迎回到技成培训网

技成培训网

电工题库宝典

技成电工课堂

PLC练习题

技成PLC课堂

变频器故障查询

技成PLC学吧

伺服驱动故障查询

技成PLC网校

当前位置:技成首页 > 文章中心 > 技成百科 > 300程序中,求最大值,该怎么弄?

300程序中,求最大值,该怎么弄?

116.24.101.90 发布于2012-12-14 00:33 37 0 标签:

在程序中,怎么从多个数据中,寻找其数值大的那个数据,例如:mw0,mw2,mw4,mw6,mw8,mw10中,每个数值都不一样,但总有个大值,小值,该怎么寻找?如果数据少的话,可以相互比较,但如果数量多的话该怎么寻找?

佳答案

采用冒泡排序:
转帖:
冒泡排序(冒泡原理,学过语言的人都应该知道,如果不知道,请上网找一个吧,到处都是):
假定十个数据,放在db1中,安放顺序如下:
dbd0
dbd4

dbd36
下面是西门子的程序
opndb1/////打开db1这个数据块
l10////装载10到mb0中,因为有十个数据,要进行十次排序,9次也可以的
ll0:tmb0
lp#0.0////装载地址指针,这是关键,不要搞错了
lar1
l9
ll1:tmb2////内部循环,进行9次,直到把大值排到后
ldbd[ar1,p#0.0]
ldbd[ar1,p#4.0]
<r
jcll2////比较前后两个值,如果前面大于后面的,则前后数据交换
ldbd[ar1,p#0.0]
t#m_temp
ldbd[ar1,p#4.0]
tdbd[ar1,p#0.0]
l#m_temp
tdbd[ar1,p#4.0]
ll2:+ar1p#4.0////指针自动进行加4,因为是浮点数,所以要跳过4个字节
lmb2
loopll1///这个指令自动的将a寄存器里的值减1
lmb0
loopll0

若有收获,就点个赞吧!

文章来源于网络及文献如有侵权请联系站长
分享到:

微信扫一扫分享

阅读与本文标签相同的文章

相关推荐

最新文章 热门文章
最新课程 免费课程
PLC资料下载 电工电气资料下载
应用新秀
变频器故障代码查询APP
伺服故障代码查询APP
技成
手机APP
热门标签