上位机和下位机通信时,数据类型的字宽不一样以及字节对齐问题,该怎样解析
在c语言中,float类型是4个字节,是按ieee475标准格式顺序存放的,通信前,强制转换成long,取出4个字节发送出去,通信接收4个字节后,按顺序移位后放到long类型变量中,之后强制类型转换为float。Python中,有一个转换类可以转换。
■网友
这是数据要用同样的编码方式序列化的问题。
【上位机和下位机通信时,数据类型的字宽不一样以及字节对齐问题,该怎样解析】 定下协议,然后把数据翻译成协议里的数据,接收方再翻译回来。如果协议“正好”和一方的内存结构一样,可以尝试复制,但这并非推荐的做法,毕竟你并不清楚内存地址是否会变化。
弄个序列化库或者自己手写一个序列化函数吧。
■网友
#include \u0026lt;stdint.h\u0026gt;int8_t
推荐阅读
- 怎样进入通信行业
- 硕士研究生选通信还是计算机视觉
- 到底是移动通信技术的发展影响了手机的设计还是手机的发展带动了移动通信技术的进步
- 通信专业大二在读,以后想从事软件方向。请问现在应该准备些啥
- 光纤通信的技术问题
- 为啥会有多种通信协议
- 计科,通信工程,电子信息工程这三个专业有啥区别
- 无线通信系统中,为啥信道估计和信道均衡 无法 完美恢复原发射信号
- 通信工程毕业的女生有啥推荐的就业方向
- 我现在在学c语言,然后以后的工作目标是腾讯网易这些游戏公司,我是通信专业,请问我接下来再该学些啥呢
