преобразование между числовыми представлениями cpp и python - PullRequest
0 голосов
/ 26 апреля 2020

Я преобразую число с плавающей точкой в ​​cpp (в arduino) в целочисленное представление, используя следующий код:

float temp = 22.8;
uint32_t temp_as_integer;
static_assert(sizeof(temp) == sizeof(temp_as_integer), "sizes don't match");
memcpy(&temp_as_integer, &temp, sizeof(temp_as_integer));

, оно отправляется на другой компьютер через последовательный порт и затем должно быть преобразовано обратно в плавание в python.

Вот где я застрял. Может ли кто-нибудь любезно указать мне правильное направление, чтобы сделать обратный процесс cpp в python?

1 Ответ

1 голос
/ 26 апреля 2020

Целые числа и числа с плавающей точкой имеют совершенно другое представление внутри. Если вы отправляете его на другой компьютер, шансы на его преобразование обратно в правильное число очень малы (особенно, если архитектура чипсета отличается или если один из них имеет порядковый номер с прямым порядком байтов, а другой - с прямым порядком байтов). Возможно, стоит сериализовать его в строку? Можете ли вы позволить себе сделать это с точки зрения производительности / пропускной способности?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...