在串口中收发浮点型数据的一种方法

#include <stdio.h>
#define FloatFillStr(x,y)	((*(float *)&y)=x)
#define StrFillFloat(x,y)	(y=(*(float *)&x))
int main()
{
	char cfdata[4];
	float f1,f2;
	f1=1.5;
	FloatFillStr(f1,cfdata[0]);
	StrFillFloat(cfdata[0],f2);
	printf("%f\n",f2);
	return 0;
}

之所以没有使用共用体是因为有些C\C++语言行业标准中不允许使用共用体类型。

猜你喜欢

转载自blog.csdn.net/yxyy3604/article/details/13289747