zoukankan      html  css  js  c++  java
  • float和double数据EEPROM存储

    一、float和double的存储结构

     1、参考博客

          https://blog.csdn.net/qq_36206070/article/details/89683848
          https://www.cnblogs.com/still-smile/p/13362215.html

          http://blog.sina.cn/dpool/blog/s/blog_8a18c33d01013bke.html

          https://blog.csdn.net/qq_36414647/article/details/98372398

     

    二、浮点数存入EEPROM

    http://www.openedv.com/posts/list/64691.htm

    #include<stdio.h>
    #include<stdlib.h>
    union data
    {
        unsigned char data[8];
        double result;
    }test;
    int main(void)
    {
        unsigned char *p,i;
        float f1 = 123.123f;
        double d1 = 123.123;
        int x1 = 0x1234;    
        /*利用指针数据拆分变量*/
        unsigned char d[8] = {23,217,206,247,83,67,65,64};
        unsigned char *p1 = NULL;
        double a;
    
        /*查看字节及精度*/
        /*float:4字节;double:8字节*/
        /*float精度:7~8位有效数字;double精度:16~17位有效数字*/
        printf("float(sizeof):%d,double(sizeof):%d
    ",sizeof(f1),sizeof(d1));
        printf("f1 = %f,d1=%f
    ",f1,d1);
        /*利用联合体查看数据的拆分*/
        test.result = 34.526;
        printf("%f
    ",test.result);
        p = test.data;
                    for(i=0;i<8;i++)
        {
            printf("%d
    ",*p);
            p++;
        }
        /*利用指针查看数据的拆分*/
        p1 = d;
        a = *((double *)(p1+8*0));
        //b = *((double *)(p1+8*1));
        printf("%f
    ",a);
    
        system("pause");
        return 0;
    }

     

  • 相关阅读:
    python打包生成exe文件
    Django建表
    Pycharm 激活码2017最新
    源码包安装Mysql
    Python 的PIL,可以解决ImportError The _imagingft C module is not installed
    远方的塔--Pylons
    Flask 框架入门
    缓动公式
    js源生惯性滚动与回弹(备用)
    javascript实现继承的12种套路
  • 原文地址:https://www.cnblogs.com/wy9264/p/14258159.html
Copyright © 2011-2022 走看看