发布网友 发布时间:2022-04-24 18:10
共4个回答
热心网友 时间:2023-10-30 15:19
这个要求很少见的说,这样凡是带a-f的16进制数就无法传输了
不过可以实现
convert函数实现这样的功能,main为测试函数,可以不管
#include <stdio.h>热心网友 时间: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;
}