找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 499|回复: 3
打印 上一主题 下一主题
收起左侧

请问用单片机怎样进行数的转换

[复制链接]
跳转到指定楼层
楼主
ID:607074 发表于 2019-9-3 19:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我想将输入的数左移两位后 转换为16进制
比如这个数是574330   左移两位变成4330 然后将4330进行转化
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:138097 发表于 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字节数组
回复

使用道具 举报

板凳
ID:609993 发表于 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;

}
回复

使用道具 举报

地板
ID:394073 发表于 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;
}
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表