#pragma once union FLOATDATA { float fValue; char data[4]; FLOATDATA() { } FLOATDATA(bool isAsc, unsigned char* pdata) { if (isAsc) Asc(pdata); else Desc(pdata); } float Asc(unsigned char* d) { data[0] = d[0]; data[1] = d[1]; data[2] = d[2]; data[3] = d[3]; return fValue; } float Desc(unsigned char* d) { data[0] = d[3]; data[1] = d[2]; data[2] = d[1]; data[3] = d[0]; return fValue; } }; union USHORTDATA { unsigned short usValue; char data[2]; USHORTDATA(bool isAsc, unsigned char* pdata) { if (isAsc) Asc(pdata); else Desc(pdata); } unsigned short Asc(unsigned char* d) { data[0] = d[0]; data[1] = d[1]; return usValue; } unsigned short Desc(unsigned char* d) { data[0] = d[1]; data[1] = d[0]; return usValue; } }; typedef union { int iValue; char data[4]; }DWORDDATA, INTDATA; typedef union { unsigned int iValue; char data[4]; }UINTDATA;