program.c
来自「C51的两个程序,一个是将LONG型十六进制数据转换成LONG型的十进制数,另一」· C语言 代码 · 共 73 行
C
73 行
//51单片机用的程序,有两个,如下
//>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
unsigned long htod(unsigned long convdata)//将一个十六进制数据转换成十进制数据
{ //十六进制数据最大不能超过:0x05f5e0ff
unsigned long temp1,temp2;
unsigned char a1;
temp1=0;
a1=convdata/10000000;
temp1=a1;
temp1=temp1<<4;
temp2=convdata%10000000;
a1=temp2/1000000;
temp1 |=a1;
temp1=temp1<<4;
temp2=temp2%1000000;
a1=temp2/100000;
temp1 |=a1;
temp1=temp1<<4;
temp2=temp2%100000;
a1=temp2/10000;
temp1 |=a1;
temp1=temp1<<4;
temp2=temp2%10000;
a1=temp2/1000;
temp1 |=a1;
temp1=temp1<<4;
temp2=temp2%1000;
a1=temp2/100;
temp1 |=a1;
temp1=temp1<<4;
temp2=temp2%100;
a1=temp2/10;
temp1 |=a1;
temp1=temp1<<4;
a1=temp2%10;
temp1 |=a1;
return temp1;
}
//>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
unsigned long dtoh(unsigned long convdata)//将一个十进制数据转换为十六进制数据
{
unsigned long temp;
temp=((convdata>>28)&0x0000000f)*10000000;
temp=temp+((convdata>>24)&0x0000000f)*1000000;
temp=temp+((convdata>>20)&0x0000000f)*100000;
temp=temp+((convdata>>16)&0x0000000f)*10000;
temp=temp+((convdata>>12)&0x0000000f)*1000;
temp=temp+((convdata>>8)&0x0000000f)*100;
temp=temp+((convdata>>4)&0x0000000f)*10;
temp=temp+(convdata&0x0000000f);
return temp;
}
//>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
// zxw36792116@hotmail.com
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?