搜索
您的当前位置:首页在keil中将10进制数转换成16进制数使用

在keil中将10进制数转换成16进制数使用

来源:乌哈旅游

//范围是0-4095

不想写注释

uint32_t Num_to_Hex(int Num)
{
    uint32_t Hex = 0x000;
    uint32_t Off_Hex;
    uint8_t i = 0;
    uint8_t remain;
    while(Num)
    {
        remain = Num%16;
        if(!(Num/16))
        {
            Off_Hex = 0x001 << (i*4);
            if(remain-9) Hex += Off_Hex*(0x00A + 0x001*(remain-10));
            else Hex += Off_Hex*remain;
        }
        else
        {
            if(!(Num/256))
            {
                Off_Hex = 0x001 << (i*4);
                if(remain-9) Hex += Off_Hex*(0x00A + 0x001*(remain-10));
            else Hex += Off_Hex*remain;
                i++;
            }
            else
            {
                Off_Hex = 0x001 << (i*4);
            if(remain-9) Hex += Off_Hex*(0x00A + 0x001*(remain-10));
            else Hex += Off_Hex*remain;
                i++;
            }
        }
        Num/=16;                
    }
    return Hex;
}

因篇幅问题不能全部显示,请点此查看更多更全内容

Top