我正在为实时海上模拟器编写客户端和服务器,并且由于我必须通过套接字发送大量数据,因此我正在使用二进制数据来最大化我可以发送的数据量。我已经知道整数字节序,以及如何使用 htonl
和 ntohl
来规避字节序问题,但是我的应用程序,就像几乎所有的模拟软件一样,会处理很多浮点数。
我的问题是:在处理浮点数的二进制格式时是否存在字节序问题?我知道我的代码将运行的所有机器都使用浮点的 IEEE 实现,但是在处理浮点数时是否存在一些字节顺序问题?
由于我只能访问具有相同字节序的机器,因此我无法自行测试。所以,如果有人可以帮助我,我会很高兴。
原文由 cake 发布,翻译遵循 CC BY-SA 4.0 许可协议
是的,浮点可以依赖于字节序。有关信息,请参阅 将浮点值从大端转换为小端,请务必阅读评论。