新手,请问怎么把处存器中的数分开。 点击:286 | 回复:6



无言地心

    
  • 精华:0帖
  • 求助:59帖
  • 帖子:101帖 | 167回
  • 年度积分:162
  • 历史总积分:15896
  • 注册:2012年10月29日
发表于:2013-10-21 12:06:23
楼主
求助帖10分-已结帖

如VB内装的23十进制

怎么把2和3分开,分别装把别的VB中去。

VB内数是时时变化的2位数温度值。

谢谢。




  • 精华:1帖
  • 求助:0帖
  • 帖子:7帖 | 166回
  • 年度积分:0
  • 历史总积分:954
  • 注册:2008年2月25日
发表于:2013-10-21 12:19:33
1楼

需要自己手动算。除以10,得到2.再用23减去刚才得到的2*10,得到3

wyb2866255---王者之师

  • 精华:57帖
  • 求助:0帖
  • 帖子:148帖 | 2872回
  • 年度积分:1
  • 历史总积分:31450
  • 注册:2010年7月01日
发表于:2013-10-21 13:19:58
2楼

可以这样编程:将装有23的存储器(如 VB100)先转换为字整数(VW101),再用 I_BCD 指令将字整数(VW101)转换为BCD码,则字节VB102的数值就为BCD码的十进制数:如VB100=23整数,VB102的高位4数=0010,VB102的低位4数=0011


阿水--王者之师

  • 精华:25帖
  • 求助:348帖
  • 帖子:1617帖 | 22281回
  • 年度积分:37
  • 历史总积分:98482
  • 注册:2007年3月22日
发表于:2013-10-21 14:31:39
3楼

 学习啦,二 楼的图文详细呀 !

无言地心

  • 精华:0帖
  • 求助:59帖
  • 帖子:101帖 | 167回
  • 年度积分:162
  • 历史总积分:15896
  • 注册:2012年10月29日
发表于:2013-10-22 16:37:32
4楼

二楼的大哥,我还是没看懂,哪怎么把这高低4位放到别的VB中去呢

无言地心

  • 精华:0帖
  • 求助:59帖
  • 帖子:101帖 | 167回
  • 年度积分:162
  • 历史总积分:15896
  • 注册:2012年10月29日
发表于:2013-10-22 16:40:21
5楼

一楼大哥历害.......

wyb2866255---王者之师

  • 精华:57帖
  • 求助:0帖
  • 帖子:148帖 | 2872回
  • 年度积分:1
  • 历史总积分:31450
  • 注册:2010年7月01日
发表于:2013-10-22 19:21:36
6楼

  回4楼:考虑原VB区的数值可能是随时改变的,将转换为BCD码的数据放在另一存储区,这样,当原VB值改变时,另一存储区的对应转换的BCD码随之变化。即它可适应原VB的整数的动态显示。

  如将转换为BCD码仍放在原 VB 里,2楼程序只可执行一次,否则就会错误。比如:原VB100的值=0001_0111,即整数“23”经 I_BCD 转换为:0010_0011,即BCD码的“23”又送回VB100,下一次扫描又执行I_BCD指令,它会将 0010_0011 误认为整数(35)再次转换为BCD码,变为011_0101,即BCD吗"35"....

 


热门招聘
相关主题

官方公众号

智造工程师