计算开关开启数量程序 点击:143 | 回复:2



邵-王者之师

    
  • 精华:1帖
  • 求助:39帖
  • 帖子:81帖 | 861回
  • 年度积分:0
  • 历史总积分:2844
  • 注册:2011年3月24日
发表于:2013-10-23 23:50:02
楼主

前段时间有位控友发了个求助帖:想计算一个存储字节2进制表示时有多少1和0,以计算当前导通点的数量。

如2# 1100 0011有4个“1位”,4个“零位”。

当时没多想,觉得编个小库程序,将各种数字分类来计算出“1位”的数量,事后想想这样编写的话,程序太过庞大,需要分类出256个数字,工程量不小。

当时有一位大神(貌似是版主大哥)提出移位循环一说,小弟还不太理解,今晚特意研究一下。

不多说,上程序

说明:程序循环8次(计算一个字节的“1位”数量),每次循环中,移位循环一次,移位的最后一位赋值在SM1.1,若SM1.1置1,则VB10自增1。

通过循环和移位的组合,计算出1位的数量,调试成功。

小弟觉得很有用,感谢大神(版主)的提醒,特发程序和大家探讨一下。




wendaofu

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 44回
  • 年度积分:0
  • 历史总积分:50
  • 注册:2011年6月18日
发表于:2013-10-26 11:55:07
1楼

很不错的一个思路,值得学习

邵-王者之师

  • 精华:1帖
  • 求助:39帖
  • 帖子:81帖 | 861回
  • 年度积分:0
  • 历史总积分:2844
  • 注册:2011年3月24日
发表于:2013-10-26 14:36:10
2楼

回复内容:

对: wendaofu  很不错的一个思路,值得学习 内容的回复!


 作为第一个做沙发立顶我的,我来当沙发腿。。。


热门招聘
相关主题

官方公众号

智造工程师