上位机和下位机通信时,数据类型的字宽不一样以及字节对齐问题,该怎样解析

在c语言中,float类型是4个字节,是按ieee475标准格式顺序存放的,通信前,强制转换成long,取出4个字节发送出去,通信接收4个字节后,按顺序移位后放到long类型变量中,之后强制类型转换为float。Python中,有一个转换类可以转换。
■网友
这是数据要用同样的编码方式序列化的问题。
【上位机和下位机通信时,数据类型的字宽不一样以及字节对齐问题,该怎样解析】 定下协议,然后把数据翻译成协议里的数据,接收方再翻译回来。如果协议“正好”和一方的内存结构一样,可以尝试复制,但这并非推荐的做法,毕竟你并不清楚内存地址是否会变化。
弄个序列化库或者自己手写一个序列化函数吧。

■网友
#include \u0026lt;stdint.h\u0026gt;int8_t


    推荐阅读