Как можно вставить union в структуру?
Мне нужна структура в которой будут следующие данные:
typedef struct {
float data[32];
int size;
} Mcalc;
Но данные 'float data[32];' мне нужно представить в виде старших 2 байт int16_t float и младших 2 байт uint16_t float. Просто старшие два байта float пишутся в int16_t младшие два байта в uint16_t. Преобразование типа float ---> uint16_t не нужно.
Попытался сделать вот так:
typedef union {
struct{
int16_t data_i[32];
uint16_t data_ui[32];
};
float data_f[32];
} unionIntFloat; // Здесь пытался сделать объединение.
Но как можно заменить float data[32]; на unionIntFloat не понял.
Хочу что-то типа:
typedef struct {
unionIntFloat
int size;
} Mcalc;
Ответы (1 шт):
Автор решения: Harry
→ Ссылка
Вы этого добиваетесь?
typedef union {
float f;
struct {
unsigned short int lo, hi;
};
} unionFloat;
typedef struct {
unionFloat data[32];
int size;
} Mcalc;