zkstar
级别: 略有小成
精华主题: 0
发帖数量: 16 个
工控威望: 206 点
下载积分: 514 分
在线时间: 75(小时)
注册时间: 2008-11-16
最后登录: 2023-09-17
查看zkstar的 主题 / 回贴
楼主  发表于: 2009-04-23 12:54
如:寄存器里的数值是348如何得到3+4+8
zsm961450
级别: *
精华主题: * 篇
发帖数量: * 个
工控威望: * 点
下载积分: * 分
在线时间: (小时)
注册时间: *
最后登录: *
查看zsm961450的 主题 / 回贴
1楼  发表于: 2009-04-23 14:35
楼主:看看是否可以
假设数值最高为五位,假设数值为十六位寄存器D1000,用D1000除以10000,得到商(万位)D0,余数为D1,用D1除以1000,得到商为(千位)D2,余数D3,再用D3除以100得到商为(百位)D4,余数D5,再用D5除以10得商(十位)D6,余数(个位)D7,各位的所加和值即:万位D0+千位D2+百位D4+十位D6+个位D7
zkstar
级别: 略有小成
精华主题: 0
发帖数量: 16 个
工控威望: 206 点
下载积分: 514 分
在线时间: 75(小时)
注册时间: 2008-11-16
最后登录: 2023-09-17
查看zkstar的 主题 / 回贴
2楼  发表于: 2009-04-23 18:41
谢谢,楼上的,但是我寄存器里的数据是随机的,有可能是3位数,4位数,5位数.但是你那种方法还是可以,不知道有没有最优的方案