标题: 请问用单片机怎样进行数的转换 [打印本页]

作者: 海带呀    时间: 2019-9-3 19:39
标题: 请问用单片机怎样进行数的转换
我想将输入的数左移两位后 转换为16进制
比如这个数是574330   左移两位变成4330 然后将4330进行转化

作者: whx.000    时间: 2019-9-5 08:14
4330是十进制数对吧。

vkey[3]=(uint8)tempkey;
vkey[2]=(uint8)(tempkey>>8);
vkey[1]=(uint8)(tempkey>>16);
vkey[0]=(uint8)(tempkey>>24);

tempkey是你要转换的数4330,vkey是16进制的4字节数组
作者: 248457547    时间: 2019-9-11 10:00
int len,i,j;

long tmp;

len=sizeof(table)/sizeof(table[0]);

for(i=0;i<len;i++)

for(j=0;j<len-i;j++)

{

{

tmp=10*table[j];

}

display+=tmp;

}
作者: 958615641    时间: 2019-9-11 14:05
//返回值为处理好的数据    data  为需要处理的原始数据   pos为要移动的位数

int pop_left(int data,int pos)
{
        int i=0,j=0,k=1;
        int data1 = data;
        int ret = data;
       
        for(i=0;i<32;i++)
        {
                data1=data1/10;
                if(data1 > 0)
                {
                        k=k*10;
                }
                else
                        break;
        }
       
        for(i=0;i<pos;i++)
        {
                ret = ret%k;
        k/=10;
        }
        return ret;
}




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1