十六进制数组是8位的吗,暂且以8位为例吧,最大数是255。转换为10进制数,就是BCD码吧?那应该是4位BCD码,即用16位二进制数表示,最高4位自然为0000。unsigned char x; //x为十六进制数unsigned int xbcd; //xbcd为转换后的十进数,即BCD码xbcd=((x/100)<<8)+(x/10%10)*16+(x%10); //转换
sprintf(SendBuf,"%010x",RcvBuf);//将d改x,试试!