首 页 行业热点 新车 试驾评测 养车用车 车型库

基于C++语言编程,如何把int型的数值10,转换为16进制格式的0x10,而不是0x0a?

发布网友 发布时间:2022-04-24 18:10

我来回答

4个回答

热心网友 时间:2023-10-30 15:19

这个要求很少见的说,这样凡是带a-f的16进制数就无法传输了

不过可以实现

convert函数实现这样的功能,main为测试函数,可以不管

#include <stdio.h>
int convert(int a)
{
int i = 0, ret = 0;
int t;

while(a)
{
t = a%10;
ret |= t<<(i*4);
a/=10;
i ++;
if(i > 8) break;
}
return ret;
}
int main()
{
int in;
while(~scanf("%d", &in))
printf("0x%x\n", convert(in));

}

热心网友 时间:2023-10-30 15:19

#include <reg51.h>   //将十进制显示在128液晶上,参考“DM128-A中文字库128液                                       晶”

void lcdwcmd(...)      //lcdwdat()和lcdwcmd()两个函数自己在网上找液晶相关程序

{...}                           //这里省略其他液晶相关程序,自己网上找

void lcdwdat(...)

{...}

int main()

{

int a;                      //假设a为通过相关传感器或其他手段得到的数字,并且已经有值了

int i = 0,g,s,b; 

b=a/100   ;      //百位位置上的数

s=a%100/10;   //十位位置的数

g=a%100%10;   //个位位置的数

lcdwcmd(0x80);     //写命令函数,0x80是128液晶第一行第一个显示位置

//0x90是第二行第一个

//0x88是第三行第一个

//0x98是第四行第一个

lcdwdat(0x30+b);         //写数据函数

lcdwdat(0x30+s);

lcdwdat(0x30+g);

}


热心网友 时间:2023-10-30 15:20

int a = 10;
int hex1 = a / 10;
int hex2 = a % 10;

int hexValue = hex1 * 16 + hex2;

int hexValue = test(a, 1);

int test(int value, int x)
{
    if (0 == value)
       return 0;
       
    return (((value % 10) * x) + test(value / 10, x * 16));
}

热心网友 时间:2023-10-30 15:20

/*******************************************************************
功 能:十六进制数转十进制形式的十六进制数
输 入:十六进制数(参数范围0到99(即0x00到0x63))
返 回:十进制形式的十六进制数
示 例:输入参数0x0A(即十进制10),返回0x10(即十进制16)
********************************************************************/
uchar HEX_To_DEC(uchar HEX)
{
uchar DEC_H, DEC_L; // 十进制的高低位
uchar DEC; // 保存转换为10进制的结果
if((HEX >= 0)&&(HEX <= 99))
{
DEC_H = HEX / 10; //取出高位
DEC_L = HEX % 10; //取出低位
DEC = (DEC_H<<4)|DEC_L;
}
return DEC;
}

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com