欲将单片机中4位十进制数(千、百、十、个位)进行分离,或将其转换成BCD码,,请诸位不吝赐教,

2025-01-21 00:59:11
推荐回答(5个)
回答1:

建一个数组P[];
欲将处理的4位十进制数为data
p[0]=data/1000; 分离千位
p[1]=data%1000/100;分离百位
p[2]=data%100/10;分离十位
p[3]ata%10;分离各位
数组中储存的4个数就是你想要的千百十个位的数了!!!

回答2:

不知 是 单片机 数据转换问题,还是?,什么类型的单片机,如51的 还是?
如果 是 多字节的 如 十六进制 转 十进制 或者 十进制 转十六进制
或者 一个字节 的 两位 十进制数 分离 成两个字节 的两位 十进制数
或者 两个字节 的 四位 十进制数 分离 成四个字节 的四位 十进制数
用 汇编 语言 多 可以做到的。当然需要 用到多条指令才能做到。

回答3:

  

       u32 recCount=123456789;
        A=recCount/1000000000;//十亿位
        B=recCount%1000000000/100000000;//亿位
        C=recCount%100000000/10000000;//ǧÍò
        D=recCount%10000000/1000000;//°ÙÍò
        E=recCount%1000000/100000;//Ê®Íò
        F=recCount%100000/10000;//Íòλ
        G=recCount%10000/1000;//ǧλ
        H=recCount%1000/100;//百
        I=recCount%100/10;//十
        J=recCount%10;//个
        则 A=1.........J=0
       明白了吗

回答4:

单片机中4位十进制数(千、百、十、个位)进行分离,或将其转换成BCD码,

----
单片机中4位十进制数(千、百、十、个位),这不就已经是BCD码了吗?

看来,楼主,是想要把《二进制数》,分离成BCD码吧?
我的百度空间里面,有例程。

回答5:

分离的话可以让该数对1000 100 和10 取余,然后建立一个0—9的BCD码库,就满足要求了