AIX相当于ieee754.h

时间:2012-05-28 23:26:01

标签: c serialization include aix ieee-754

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

我正在序列化的值中有64位双精度浮点实数。当我编写代码时,它将被编译并仅在具有gcc的Linux上运行以编译它。我根据IEEE 754标准使用ieee754.h来访问值的所有部分,并将这些部分写入文件。在Java端,我只需使用Double.longBitsToDouble(long)重新组合值。

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

AIX上是否有ieee754.h的等价物?

1 个答案:

答案 0 :(得分:2)

缺少字节序问题,IEEE754是一种固定格式。系统标题不需要告诉您它的外观。做一些像:

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

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