gpt4 book ai didi

c++ - 是否有任何具有非 IEEE C/C++ 浮点格式的现代平台?

转载 作者:IT老高 更新时间:2023-10-28 22:59:18 30 4
gpt4 key购买 nike

我正在写一个电子游戏,Humm and Strumm ,它的游戏引擎中需要一个网络组件。我可以轻松处理字节序的差异,但在尝试处理可能的 float 内存格式时遇到了困难。我知道现代计算机都有标准的整数格式,但我听说它们可能并不都使用 IEEE 浮点整数标准。这是真的吗?

虽然我当然可以将其作为字符串输出到每个数据包中,但无论平台如何,我仍然必须转换为每个客户端的“众所周知的格式”。标准的 printf()atod() 是不够的。

请注意,因为这个游戏是一个免费/开源软件程序,可以在 GNU/Linux、*BSD 和 Microsoft Windows 上运行,所以我不能使用任何专有解决方案,也不能使用任何单一平台解决方案。

干杯,
帕特里克

最佳答案

如果您正确抽象您的网络接口(interface),您可以拥有序列化和反序列化 float 据类型的函数/对象。在我能想到的每个系统上,这些都是 IEEE 标准,因此您只需让它们原封不动地传递数据(编译器甚至可能会对其进行优化,因此您不会失去任何性能)。如果您确实遇到了一些具有不同格式的系统,您可以有条件地在这些函数中编译一些代码,以进行位黑客攻击,将 IEEE 标准转换为 native 格式。您只需要在一处进行更改。但是,除非您进入控制台/手持设备/等,否则您可能永远不需要这样做。

关于c++ - 是否有任何具有非 IEEE C/C++ 浮点格式的现代平台?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2724359/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com