2011-03-22 20 views
1

我确定这个问题之前已经提过很多次了,所以我做了一个快速搜索,发现this Wikipedia page解释了浮点值的结构。如何读/写字节数组的浮点值?

我送的设备上以及由某些浮点值的网络接收数据(游戏),这使我对以下问题:

  1. 难道我担心字节顺序?
  2. 如果字节顺序很重要,我怎样才能提取这些值而无需执行*(float*)转换或联合? (如整数移位技巧)

在此先感谢。

+0

这里讨论一些浮点的字节顺序。 http://en.wikipedia.org/wiki/Endianness#Floating-point_and_endianness – DavidMFrey 2011-03-22 21:16:40

回答

0

如果你直接从内存中写出一个浮点值,那么,是的,你将不得不处理字节序。

有几千种方法可以处理这个问题。网络协议经常使用的一种方法是将结构读入字节缓冲区,交换所有元素(如果主机的字节序不符合协议的字节顺序),然​​后将其视为正常的主机结构。