【发布时间】:2017-07-22 05:06:53
【问题描述】:
我在我引用的文件中有上述声明。预期产量翻倍。我找不到与我的问题相关的任何内容。 我找到了这个 Passing a structure through Sockets in C 但不知道它是否相关。 我没有读到那个 int64 值。我从其他过程中得到它,这就是它的设计方式。
有人对整数的序列化和反序列化有任何理论吗?
【问题讨论】:
-
为什么不直接将数据读入
double? -
std::memcpy 将为您完成。 int64 和 float 的联合是 UB,
-
感谢 Nathan 的更新。我没有读那个。我从其他过程中得到它,这就是它的设计方式。
-
@RichardCritten void * comp = &(x_double);双分量 = (*(F64 *)comp);我想这和它没用的一样
-
也是UB。 memcpy 现在是在不同类型之间复制数据的唯一标准定义方式(iirc 很少有使用 char / unsigned char 的边缘情况)。
标签: c++ serialization floating-point deserialization bitwise-operators