把16位存储器存储的ASCII码(0-9)的第2位取出来并转换为10进制数——例如ASCII码34,取出第2位就是4。
这个应用很有意义,例如取读到的条形码的第几位。
下周末结贴,9个最优回帖分别获得20MP、10MP、10MP、10MP、20积分、20积分、20积分、20积分、20积分!
MP介绍:gongkongMP即工控币,是中国工控网的用户积分与回馈系统的一个网络虚拟计价单位,类似于大家熟悉的QB,1个MP=1元人民币。
MP有什么用?兑换服务:以1个MP=1元来置换中国工控网的相关服务。 兑换现金:非积分获得的MP可兑换等值现金(满100MP后、用户可通过用户管理后台申请兑换)。
方法1:也就是yuanle和abysmal说到的方法。把该存储器与FFH(也就是00FFH)作与操作,得到ASCII的第2位数据——存储器的低8位数据,也就是34。(说明:任何一个二进制数与相同位数的全1二进制数做与操作,得到的都是这个数本身;任何一个二进制数与相同位数的全0二进制数做与操作,得到的都是0。因此该方法的原理就很容易明白了。如果要取高8位,那么把该16位数据和FF00H作与操作后,还要右移8位才可以得到。)
然后把得到的低8位ASCII数据减去48或者30H,就是10进制数了
为什么是减48呢?能更详细点吗?如果那个数字不是34要怎么减,减多少?上学时学了一点进制转化的皮毛,早忘完了。谢谢
诚心求教
今天看到一个问问题的帖,就是该擂台的典型应用。
从一串DATA中选择输出某一位,应该怎样做呢?
http://www.gongkong.com/webpage/forum/201009/2010091514575800002-1.shtml