以共用体分解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++;
}
}
georgedatacenter这次其实是两个促销,一是促销一款特价洛杉矶E3-1220 V5独服,性价比其实最高;另外还促销三款特价vps,georgedatacenter是一家成立于2019年的美国VPS商家,主营美国洛杉矶、芝加哥、达拉斯、新泽西、西雅图机房的VPS、邮件服务器和托管独立服务器业务。georgedatacenter的VPS采用KVM和VMware虚拟化,可以选择windows...
vpsdime怎么样?vpsdime是2013年成立的国外VPS主机商,以大内存闻名业界,主营基于OpenVZ和KVM虚拟化的Linux套餐,大内存、10Gbps大带宽、大硬盘,有美国西雅图、达拉斯、新泽西、英国、荷兰机房可选。在上个月搞了一款达拉斯Linux系统VPS促销,详情查看:vpsdime夏日促销活动,美国达拉斯vps,2G内存/2核/20gSSD/1T流量,$20/年,此次推出一款Wi...
virmach怎么样?virmach家这几年非常火,从商家的黑五闪购开始,以超低的价格吸引了大批的国人客户,而且商家的机器还是非常稳定的,站长手里的4.75刀年付已经用了两年了,非常稳定,不过商家到国内的线路一般,目前商家新上了夏季优惠促销,价格低到发指,年付7.2美元起,商家反馈将在9月开始更换AMD+NVMe平台,这个消息从年初就有了,不过一直没有更换,目前这个时间也不确定是否准确。点击进入:...