67 lines
916 B
C
Raw Normal View History

2024-05-11 17:43:38 +08:00
#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;