⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 program.c

📁 C51的两个程序,一个是将LONG型十六进制数据转换成LONG型的十进制数,另一个则是逆运算
💻 C
字号:
//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 + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -