gpt4 book ai didi

c# - 是否可以写出一个 C# double 并用 Java 读取它?

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:28:49 24 4
gpt4 key购买 nike

是否可以在 C# 中写出 double 的 8 字节表示,然后在 Java 中将这 8 个字节作为编码的相同 double 读入?

最佳答案

是的,java 和 .NET 都使用 IEEE-754 表示,尽管 Java 可能会省略一些标志。这里的主要问题是字节顺序,如果需要的话,反转是微不足道的。例如,在 .NET 中,您可以将其处理为:

double value = ...
byte[] bytes = BitConverter.GetBytes(value);

和:

byte[] bytes = ...
double value = BitConverter.ToDouble(bytes);

endianness 决定了哪个字节在前/在后,但是在它们之间切换就像反转数组一样简单;例如,如果你想要“big-endian”,那么你可以转换为:

if(BitConverter.IsLittleEndian) {
Array.Reverse(bytes);
}

(记得在阅读和写作时都这样做)

恐怕我不知道 java,但它绝对是完全可用的 - 我怀疑 ByteBuffer.putDouble/ByteBuffer.getDouble 会是一个好的开始。

关于c# - 是否可以写出一个 C# double 并用 Java 读取它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16245411/

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