适于8位单片机的经度、纬度和高程数据的处理方法技术

技术编号:11201364 阅读:89 留言:0更新日期:2015-03-26 08:57
本发明专利技术提供了一种适于8位单片机的经、纬度数据的处理方法,包括如下步骤:S1:获得对应经度或纬度数据的double型数据;S2:根据该double型数据获得:浮点数的正负;浮点数的指数部分;整度部分数据;分度部分数据;秒度部分数据;S3:用一个float数据保存对应经度或纬度数据的整度部分;用一个float数据保存对应经度或纬度数据的分度部分;用float数据保存对应经度或纬度数据的秒度部分。本发明专利技术根据double在内存中存储的方式来进行了数据的处理,将一个double型数据分拆为几个float型数据,使得double型数据不损失所需的数据精度。

【技术实现步骤摘要】
【专利摘要】本专利技术提供了一种适于8位单片机的经、纬度数据的处理方法,包括如下步骤:S1:获得对应经度或纬度数据的double型数据;S2:根据该double型数据获得:浮点数的正负;浮点数的指数部分;整度部分数据;分度部分数据;秒度部分数据;S3:用一个float数据保存对应经度或纬度数据的整度部分;用一个float数据保存对应经度或纬度数据的分度部分;用float数据保存对应经度或纬度数据的秒度部分。本专利技术根据double在内存中存储的方式来进行了数据的处理,将一个double型数据分拆为几个float型数据,使得double型数据不损失所需的数据精度。【专利说明】
本专利技术涉及GPS领域的数据处理方法,尤其涉及一种GPS数据中经度、炜度和高程 数据的存储方法。
技术介绍
在8位单片机中由于CPU只能同时处理8位数据,能够支持的数据类型中,精度最 高的是float型,不能保证double型数据的精度,而高精度GPS提供的经炜度是double型 数据,为此需要一种方法来解决这个问题。 double型数据的有效数字是15?16位,float型数据的有效数字是6?7位;高 精度GPS提供经炜度是double型数据,在中国大陆上经度1秒弧度差不多等效于平面上30 米距离,高精度GPS要求精确到毫米,所以当使用8位单片机处理double型数据时必然要 丢失精度。 现有的方法是直接使用float型代替double型数据进行计算,虽然计算方面没有 问题,但是精度会有较大的损失。
技术实现思路
本专利技术要解决的技术问题是如何将double型数据适用于8位单片机,且不丢失精 度。 为了解决这一技术问题,本专利技术提供了一适于8位单片机的经、炜度数据的处理 方法,用以使得GPS提供的double型数据的经、炜度数据适用于8位单片机,包括如下步 骤: Sl :获得对应经度或炜度数据的double型数据; S2 :根据该double型数据获得: 浮点数的正负; 浮点数的指数部分; 整度部分数据; 分度部分数据; 秒度部分数据; S3 :用一个float数据保存对应经度或炜度数据的整度部分; 用一个float数据保存对应经度或炜度数据的分度部分; 用float数据保存对应经度或炜度数据的秒度部分。 可选的,在所述步骤S3中,用一个float数据保存对应经度或炜度数据的秒度部 分。 可选的,在所述步骤S3中,用一个float数据保存对应经度或炜度数据的秒度部 分的整数部分,用另一个float数据保存对应经度或炜度数据的秒度部分的小数部分。 本专利技术还提供了一种适于8位单片机的高程数据的处理方法,用以使得GPS提供 的double型数据的高程数据适用于8位单片机,包括如下步骤: Sl :获得对应高程数据的double型数据; S2 :根据该double型数据获得: 浮点数的正负; 浮点数的指数部分; 高程数据; S3 :用一个float数据保存对应高程数据的整数部分; 用一个float数据保存对应高程数据的小数部分。 本专利技术根据double在内存中存储的方式来进行了数据的处理,将一个double型 数据分拆为几个float型数据,使得double型数据不损失所需的数据精度。构造一个浮点 数,经度、炜度范围不会超过360,高程范围不会超过32000米,所以浮点数是足够保存它们 的整数部分的。计算整数部分的目的,可以在得到去掉余数的整数部分,提高小数部分的精 度。 【专利附图】【附图说明】 图1是本专利技术一实施例中编程界面示意图。 【具体实施方式】 以下将结合图1对本专利技术提供的适于8位单片机的经度、炜度和高程数据的处理 方法进行详细的描述,其为本专利技术一可选的实施例,可以认为,本领域的技术人员在不改变 本专利技术精神和内容的范围内能够对其进行修改和润色。 本实施例提供了一种适于8位单片机的经、炜度数据的处理方法,用以使得GPS提 供的double型数据的经、炜度数据适用于8位单片机,其特征在于:包括如下步骤: Sl :获得对应经度或炜度数据的double型数据; S2 :根据该double型数据获得: 浮点数的正负; 浮点数的指数部分; 整度部分数据; 分度部分数据; 秒度部分数据; S3 :用一个float数据保存对应经度或炜度数据的整度部分; 用一个float数据保存对应经度或炜度数据的分度部分; 用float数据保存对应经度或炜度数据的秒度部分。 在所述步骤S3中,可以用一个float数据保存对应经度或炜度数据的秒度部 分。也可以用一个float数据保存对应经度或炜度数据的秒度部分的整数部分,用另一个 float数据保存对应经度或炜度数据的秒度部分的小数部分。 与之对应的还有一种适于8位单片机的高程数据的处理方法,用以使得GPS提供 的double型数据的高程数据适用于8位单片机,包括如下步骤: Sl :获得对应高程数据的double型数据; S2 :根据该double型数据获得: 浮点数的正负; 浮点数的指数部分; 高程数据; S3 :用一个float数据保存对应高程数据的整数部分; 用一个float数据保存对应高程数据的小数部分。 以下通过具体的原理和举例进一步阐述本专利技术。 在C/C++语言中,的float是4字节,double是8字节,以科学计数法来存储。 float为4字节,32位,存储在内存中如下: 【权利要求】1. 一种适于8位单片机的经、绅度数据的处理方法,用W使得GI^提供的double型数 据的经、绅度数据适用于8位单片机,其特征在于;包括如下步骤: 51 ;获得对应经度或绅度数据的double型数据; 52 ;根据该double型数据获得: 浮点数的正负; 浮点数的指数部分; 整度部分数据; 分度部分数据; 秒度部分数据; 53 ;用一个float数据保存对应经度或绅度数据的整度部分; 用一个float数据保存对应经度或绅度数据的分度部分; 用float数据保存对应经度或绅度数据的秒度部分。2. 如权利要求1所述的适于8位单片机的经、绅度数据的处理方法,其特征在于:在所 述步骤S3中,用一个float数据保存对应经度或绅度数据的秒度部分。3. 如权利要求1所述的适于8位单片机的经、绅度数据的处理方法,其特征在于:在所 述步骤S3中,用一个float数据保存对应经度或绅度数据的秒度部分的整数部分,用另一 个float数据保存对应经度或绅度数据的秒度部分的小数部分。4. 一种适于8位单片机的高程数据的处理方法,用W使得GI^提供的double型数据的 高程数据适用于8位单片机,其特征在于;包括如下步骤: 51 ;获得对应高程数据的double型数据; 52 ;根据该double型数据获得: 浮点数的正负; 浮点数的指数部分; 高程数据; 53 ;用一个float数据保存对应高程数据的整数部分; 用一个float数据保存对应高程数据的小数部分。【本文档来自技高网...
<a href="http://www.xjishu.com/zhuanli/55/201410802805.html" title="适于8位单片机的经度、纬度和高程数据的处理方法原文来自X技术">适于8位单片机的经度、纬度和高程数据的处理方法</a>

【技术保护点】
一种适于8位单片机的经、纬度数据的处理方法,用以使得GPS提供的double型数据的经、纬度数据适用于8位单片机,其特征在于:包括如下步骤:S1:获得对应经度或纬度数据的double型数据;S2:根据该double型数据获得:浮点数的正负;浮点数的指数部分;整度部分数据;分度部分数据;秒度部分数据;S3:用一个float数据保存对应经度或纬度数据的整度部分;用一个float数据保存对应经度或纬度数据的分度部分;用float数据保存对应经度或纬度数据的秒度部分。

【技术特征摘要】

【专利技术属性】
技术研发人员:崔秋丽张光炬宋冬萍薛迎春黄璟徐月兰
申请(专利权)人:苏州工业职业技术学院
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1