c - AIX 相当于 ieee754.h

标签 c serialization include aix ieee-754

我写了一些 C 代码,将某些值序列化到一个文件中,该文件随后在另一台机器上用 Java 反序列化(使用自定义代码)。

我正在序列化的值包括 64 位 double 浮点实数。当我编写代码时,它将仅在 Linux 上编译和运行,并提供可用于编译它的 gcc。根据 IEEE 754 标准,我使用 ieee754.h 访问值的所有部分,并将这些部分写入文件。在 Java 端,我会简单地使用 Double.longBitsToDouble(long)重新组合值。

问题是我被要求使用 xlc 10 使代码能够在 AIX 5.3 上编译和运行。

在 AIX 上是否有任何等效于 ieee754.h 的东西?

最佳答案

除了字节顺序问题,IEEE754 是一种固定格式。不需要系统标题来告诉您它的外观。只需执行以下操作:

uint64_t rep;
double x;
memcpy(&rep, &x, sizeof rep);

如果您在必须这样做的平台上,您可能希望包含一些用于有条件地字节顺序交换结果的代码,但据我所知,AIX 不会是其中之一。

关于c - AIX 相当于 ieee754.h,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10791446/

相关文章:

xcode4 - 如何在 xcconfig #include 中使用环境变量?

c - C 中类型转换丢失的信息

c - 何时在扩展的 GCC 内联汇编中使用特定的操作数约束?

java - 如何将 Intent 额外对象[]转换为MyClass[]

mysql - 无法使用 JSON 解析 MySql 时间戳

c# - 使用 DataContractJsonSerializer 反序列化具有不同类型数组的 json

c - printf() 未打印正确的计算结果

c - 将 char 类型转换为 int(用于套接字)

julia - 包设置不会传播给分布式工作人员

关于数组的 C++ 问题