当前位置: 代码迷 >> 单片机 >> 高手看看为何需要将数据倒序存储解决办法
  详细解决方案

高手看看为何需要将数据倒序存储解决办法

热度:49   发布时间:2016-04-28 16:00:02.0
高手看看为何需要将数据倒序存储
//====================================================================//
// 语法格式: Int_To_Str(int x,char *Str)
// 实现功能: 转化整型值为字符串形式
// 参数: x: 转化的整数
// Str:转化后的字符串
// 返回值: 无
//====================================================================//
void Int_To_Str(int x,char *Str)
{
  int t;
  char *Ptr,Buf[5];
  int i = 0;
  Ptr = Str;
  if(x < 10) // 当整数小于10时,转化为"0x"的格式
  {
  *Ptr ++ = '0';
  *Ptr ++ = x+0x30;
  }
  else
  {
  while(x > 0)
  {
  t = x % 10; //取余
  x = x / 10; //取整
  Buf[i++] = t+0x30; // 通过计算把数字转化成ASCII码形式
  }
  i -- ;
  for(;i >= 0;i --) // 将得到的字符串倒序
  {
  *(Ptr++) = Buf[i];
  }
  }
  *Ptr = '\0';
}

//39.05.55 117.08.53
#define POSITION_CHAR_LEN 30
char position[POSITION_CHAR_LEN] = {'0'}; //位置数组,长度30
char *GPS_DisplayOne() //完成经度纬度(度分秒)字符串
{
  char info[5];
  memset(position,0,POSITION_CHAR_LEN); //初始化为0
  strcat(position,"Lat:"); //把Lat:添加到position
  Int_To_Str(GPS.latitude_Degree,info); //纬度,整型转换到字符串
  strcat(position,info); //添加到position
  strcat(position,"."); //添加.
  Int_To_Str(GPS.latitude_Cent,info); //纬分
  strcat(position,info);
  strcat(position,".");
  Int_To_Str(GPS.latitude_Second,info); //纬秒
  strcat(position,info);
  strcat(position," Lon:");
  Int_To_Str(GPS.longitude_Degree,info); //经度
  strcat(position,info);
  strcat(position,".");
  Int_To_Str(GPS.longitude_Cent,info); //经分
  strcat(position,info);
  strcat(position,".");
  Int_To_Str(GPS.longitude_Second,info); //经秒
  strcat(position,info);
// strcat(position,"\r\n");

// PCCOM(position);
  return position;
}


------解决方案--------------------
这个转换算法转出来就是倒序的,所以,转换结束后,得再倒转一次

算法问题。。。
------解决方案--------------------
是不是小端模式和大端模式的相互转换?
  相关解决方案