kongqigg
级别: 正式会员
精华主题: 0
发帖数量: 6 个
工控威望: 95 点
下载积分: 584 分
在线时间: 10(小时)
注册时间: 2014-12-30
最后登录: 2023-04-03
查看kongqigg的 主题 / 回贴
楼主  发表于: 2015-01-15 17:25
DEBCD指令得到的数值是错的?为什么??请大侠指点。
hsqknx
级别: 工控侠客
精华主题: 0
发帖数量: 427 个
工控威望: 2439 点
下载积分: 489 分
在线时间: 729(小时)
注册时间: 2011-06-13
最后登录: 2024-11-12
查看hsqknx的 主题 / 回贴
1楼  发表于: 2015-01-15 17:58
你想要什么值?你认为会是什么值??
楼主留言:
我以为DEBCD 指令运行之后,得出来的结果是10000,不知道什么原因,变大了
hsqknx
级别: 工控侠客
精华主题: 0
发帖数量: 427 个
工控威望: 2439 点
下载积分: 489 分
在线时间: 729(小时)
注册时间: 2011-06-13
最后登录: 2024-11-12
查看hsqknx的 主题 / 回贴
2楼  发表于: 2015-01-15 18:04
你这样看的结果肯定你不认识
楼主留言:
是啊,我搞不清楚为什么D40里面的值不是100000
kongqigg
级别: 正式会员
精华主题: 0
发帖数量: 6 个
工控威望: 95 点
下载积分: 584 分
在线时间: 10(小时)
注册时间: 2014-12-30
最后登录: 2023-04-03
查看kongqigg的 主题 / 回贴
3楼  发表于: 2015-01-15 18:51
我以为DEBCD指令得到结果是100000,但是不知道为变大了
niningtt
级别: 工控侠客
精华主题: 0
发帖数量: 1230 个
工控威望: 3550 点
下载积分: 858 分
在线时间: 459(小时)
注册时间: 2010-08-24
最后登录: 2024-11-12
查看niningtt的 主题 / 回贴
4楼  发表于: 2015-01-15 20:45
你需要将浮点数转换成整数也就是100000.0转成INT100000,
错误原因,1、BCD码转化也不是将浮点数转为整数 2、直接用浮点数转BCD也是错误的做法,
hsqknx
级别: 工控侠客
精华主题: 0
发帖数量: 427 个
工控威望: 2439 点
下载积分: 489 分
在线时间: 729(小时)
注册时间: 2011-06-13
最后登录: 2024-11-12
查看hsqknx的 主题 / 回贴
5楼  发表于: 2015-01-15 21:21
结果不是你这么用的,DEBCD得出的是10进制小数,会有误差
kongqigg
级别: 正式会员
精华主题: 0
发帖数量: 6 个
工控威望: 95 点
下载积分: 584 分
在线时间: 10(小时)
注册时间: 2014-12-30
最后登录: 2023-04-03
查看kongqigg的 主题 / 回贴
6楼  发表于: 2015-01-16 11:38
引用
引用第4楼niningtt于2015-01-15 20:45发表的  :
你需要将浮点数转换成整数也就是100000.0转成INT100000,
错误原因,1、BCD码转化也不是将浮点数转为整数 2、直接用浮点数转BCD也是错误的做法,

我后来把debcd改了,改成INT就好了,但是我还是不太清楚,第一次用浮点数,谢谢指点。
kongqigg
级别: 正式会员
精华主题: 0
发帖数量: 6 个
工控威望: 95 点
下载积分: 584 分
在线时间: 10(小时)
注册时间: 2014-12-30
最后登录: 2023-04-03
查看kongqigg的 主题 / 回贴
7楼  发表于: 2015-01-16 13:31
引用
引用第5楼hsqknx于2015-01-15 21:21发表的  :
结果不是你这么用的,DEBCD得出的是10进制小数,会有误差

那个程序里面还有一段跟这个差不多的,那里的BCD指令得出来的结果是正确的。
所以我很纳闷
求高人指点。