У меня есть переменная типа float
которую мне нужно отправить по протоколу CAN. Для этого 32-разрядное число с плавающей запятой должно быть разрезано на 4 переменные uint8_t
.
Я понятия не имею, как это сделать. Сначала я думал о преобразовании числа с плавающей точкой в int, но некоторые ответы, которые я нашел в Интернете, которые используют приведение или объединение, похоже, не работают.
Вот простой пример того, что я пытаюсь сделать:
float f;
uint8_t ut1,ut2,ut3,ut4;
//8 first bits of f into ut1
//8 second bits of f in ut2
...
// Then I can send the uint8_t through CAN
...