gpt4 book ai didi

java - 将序列化的 Java Double 转换为等效的 VC++ 类型

转载 作者:太空宇宙 更新时间:2023-11-04 14:02:36 25 4
gpt4 key购买 nike

我正在使用 x86 VC++(项目规范强加的约束)反序列化二进制 Java 数据流,并且在正确解析序列化 double 值时遇到了麻烦。

假设:

  • Java double 最好用 VC++ x86 long double 表示。

我尝试过的:

  • 直接反序列化和字节交换反序列化。都不返回正确的值。 (一旦将整数从大端字节序转换为小端字节序,就能够很好地反序列化整数。)
  • Java 序列化文档没有帮助。

我害怕的是:

  • 指数和尾数都以某种方式进行了字节交换。

在此先感谢您的帮助。

最佳答案

答案是它是一个简单的字节交换。但是,使用内置的 C++ _byteswap 函数执行隐式转换为无符号整数,这会破坏 double 中的数据。

使用 How to byteswap a double? 中的字节交换解决方案之一成功了。

关于java - 将序列化的 Java Double 转换为等效的 VC++ 类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18538388/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com