python - 在数字表示形式cpp和python之间转换

标签 python c++ arduino

我正在使用以下代码将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中的float。

这就是我被困住的地方。有人可以指出我正确的方向来完成python中cpp进程的逆过程吗?

最佳答案

整数和浮点数在内部具有完全不同的表示形式。如果将其发送到另一台计算机,则将其转换回正确的浮点的可能性非常小(尤其是如果芯片组体系结构不同,或者一个是大字节序,另一个是小字节序)。也许值得将其序列化为字符串?您能否在性能/带宽方面做到这一点?

关于python - 在数字表示形式cpp和python之间转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61433155/

相关文章:

python - 将先验信念添加到神经网络中

python - 如果邻居相等,则合并列表成员的排序列表

python - 最大的森林(亚马逊面试题)

c++ - std::pow() 输出是……特别的?

c++ - std::future.wait_for 永远阻塞

arduino - ESP8266 到 ESP8266 i2C 通信

python - 使用 Google App Engine 和 Python 读取网站 XML

python - 嵌入式Python解释器的 undefined symbol 错误

检查字符变量的值

c - 使用 Serial.write 串行发送字节数组时出错