GrpcPrint/PrintS/utils/DataByte.h

67 lines
920 B
C
Raw Permalink Normal View History

2024-03-27 16:09:22 +08:00
#pragma once
2024-03-19 17:45:12 +08:00
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
2024-03-19 17:45:12 +08:00
{
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;
}
};
2024-03-19 17:45:12 +08:00
typedef union
{
int iValue;
char data[4];
}DWORDDATA, INTDATA;
2024-03-19 17:45:12 +08:00
typedef union
{
unsigned int iValue;
char data[4];
}UINTDATA;