Cześć.
Dostaję ramkę danych za pomocą pewnego interfejsu i mam ją zapisana w tablicy typu uint8_t. Załóżmy że pierwsze 4 elementy opisują pierwszą liczbę typu float a kolejne 4 drugą liczbę typu float.
Zazwyczaj robiłem to tak że tworzyłem unię
typedef union
{
uint8_t u8_val[4];
float f_val;
}union_u8_f;
Za pomocą takiej unii konwertowałem 4 elementy typu uint8_t na float. Niestety pewien standard tego zabrania. W jaki sposób dokonać takiej konwersji z czterech liczb typu uint8_t na jednego float'a i na odwrót.
reinterpret_cast
, albo w ogóle cast przez unię w C++ jest nielegalny.