【问题标题】:How to read/write floating-point values to/from a byte array?如何从字节数组读取/写入浮点值?
【发布时间】:2011-07-20 20:22:16
【问题描述】:

我确定这个问题之前已经被问过很多次了,所以我快速搜索了一下,发现 this Wikipedia page 解释了浮点值的结构。

我正在通过包含一些浮点值(对于游戏)的网络发送和接收数据,这导致我提出以下问题:

  1. 我需要担心字节顺序吗?
  2. 如果字节序很重要,如何在不进行*(float*) 强制转换或联合的情况下提取这些值? (例如整数位移的技巧)

提前致谢。

【问题讨论】:

标签: c floating-point memory-layout


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-02-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多