我正在使用以下代码将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/