用什么指令可以实现REAL到INT的转换?
最佳答案
L MD120 //REAL
RND //取整
DTB // 转化为BCD码
BTI //BCD码转16位整数
T MW124
要注意浮点数的大小范围不能超过16位整数范围;
RND 执行的是四舍五入;
或是
一般我们都是这样写的,溢出也考虑进去了,这段程序很经典的,real中拿出任意一位都可以,更不要说是低字节了
L #REAL_VALUE
RND
JO ERR
PUSH
ITD
==D
JC OK
ERR: S #ERROR
JU Wert
OK: R #ERROR
Wert: T #INT_VALUE
双字到字就很简单了,直接放到临时变量存储区然后读取低字节就可以了(甚至是位)!
参考资料:
http://www.ad.siemens.com.cn/service/answer/solution.aspx?Q_ID=96601&cid=1029
这是个封精的同样问题的解答,你搜索下,就能找到你需要答案。建议提问前,自己先搜索下,就可以了!
提问者对于答案的评价:
谢谢你了!真的很好!
专家置评
已阅,最佳答案正确。
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc239671.html