以共用体分解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++;
}
}
今天下午遇到一个网友聊到他昨天新注册的一个域名,今天在去使用的时候发现域名居然不见。开始怀疑他昨天是否付款扣费,以及是否有实名认证过,毕竟我们在国内域名注册平台注册域名是需要实名认证的,大概3-5天内如果不验证那是不可以使用的。但是如果注册完毕的域名找不到那也是奇怪。同时我也有怀疑他是不是忘记记错账户。毕竟我们有很多朋友在某个商家注册很多账户,有时候自己都忘记是用哪个账户的。但是我们去找账户也不办...
Webhosting24宣布自7月1日起开始对日本机房的VPS进行NVMe和流量大升级,几乎是翻倍了硬盘和流量,价格依旧不变。目前来看,日本VPS国内过去走的是NTT直连,服务器托管机房应该是CDN77*(也就是datapacket.com),加上高性能平台(AMD Ryzen 9 3900X+NVMe),还是有相当大的性价比的。此外在6月30日,又新增了洛杉矶机房,CPU为AMD Ryzen 9...
一年一度的黑色星期五和网络星期一活动陆续到来,看到各大服务商都有发布促销活动。同时RAKsmart商家我们也是比较熟悉的,这次是继双十一活动之后的促销活动。在活动产品中基本上沿袭双11的活动策略,比如有提供云服务器七折优惠,站群服务器首月半价、还有新人赠送红包等活动。如果我们有需要RAKsmart商家VPS、云服务器、独立服务器等产品的可以看看他们家的活动。这次活动截止到11月30日。第一、限时限...