以共用体分解float或者double类型数据为c字符类型数据。可以用于eeprom24c02数据存取。
————阿新。
1 float、 doub le数据分解程序
#inc lude<stdio.h>
#inc lude<string.h>
#inc lude<math.h>main()
{ unsigned char*p,i;union data
{ float b;unsigned char a[4];
}c;c.b=34.526;printf("%f\n",c.b);p=c.a;for(i=0;i<4;i++)
{printf("%d\n",*p);p++;
}
}
小数34.526在计算机存储的的浮点格式为{160,26,10,66}共四个字节。
当数据b为double时记得把b前面的float改为double把数字4改为8。
从上面看出float类型的精度不是高在后面多出了个1 当改为double时精度就高多了。
2 把分解开的字符数据转换合并为float或doub le型。下面以double型为计算当要合并为float时改b的数据类型为double把8改为4并且把unsigned char d[]={23,217,206,247,83,67,65,64}改为d[]={160,26,10,66}.
#inc lude<stdio.h>
#inc lude<string.h>
#inc lude<math.h>main()
{ unsigned char*p,i;union data
{ double b;unsigned char a[8];
}c;unsigned char d[]={23,217,206,247,83,67,65,64}; //此处是34.526在double类型下计算机//存储的数据for(i=0;i<8;i++)
{ c.a[i]=d[i];
}printf("%f\n",c.b);p=c.a;for(i=0;i<8;i++)
{printf("%d\n",*p);p++;
}
}
关于Linode,这是一家运营超过18年的VPS云主机商家,产品支持随时删除(按小时计费),可选包括美国、英国、新加坡、日本、印度、加拿大、德国等全球十多个数据中心,最低每月费用5美元($0.0075/小时)起。目前,注册Linode的新用户添加付款方式后可以获得100美元赠送,有效期为60天,让更多新朋友可以体验Linode的产品和服务。Linode的云主机产品分为几类,下面分别列出几款套餐配置...
印象云,成立于2019年3月的商家,公司注册于中国香港,国人运行。目前主要从事美国CERA机房高防VPS以及香港三网CN2直连VPS和美国洛杉矶GIA三网线路服务器销售。印象云香港三网CN2机房,主要是CN2直连大陆,超低延迟!对于美国CERA机房应该不陌生,主要是做高防服务器产品的,并且此机房对中国大陆支持比较友好,印象云美国高防VPS服务器去程是163直连、三网回程CN2优化,单IP默认给20...
阿里云国际版注册认证教程-免绑卡-免实名买服务器安全、便宜、可靠、良心,支持人民币充值,提供代理折扣简介SunthyCloud成立于2015年,是阿里云国际版正规战略级渠道商,也是阿里云国际版最大的分销商,专业为全球企业客户提供阿里云国际版开户注册、认证、充值等服务,通过SunthyCloud开通阿里云国际版只需要一个邮箱,不需要PayPal信用卡就可以帮你开通、充值、新购、续费阿里云国际版,服务...