gpt4 book ai didi

JavaScript 中的 java.lang.Double.longBitsToDouble 函数

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:35:53 25 4
gpt4 key购买 nike

我在 JavasScipt 中有一个 BinaryStream 类,它从通过 XMLHHttpRequest 下载的数组中读取字节,并具有返回无符号字节(技术上是整数)的函数 next()。我需要从与 DataStream.readDouble() 基本相同的流中读取一个 double来自使用方法 Double.longBitsToDouble(long) 的 Java .我不知道 longBitsToDouble 方法是如何工作的。

这是我的代码:

var bits = stream.nextLong();
if (bits == 0x7ff0000000000000)
this.variables = [Infinity];
else if (bits == 0xfff0000000000000)
this.variables = [-Infinity];
else if (bits >= 0x7ff0000000000001 && bits <= 0x7fffffffffffffff || bits >= 0xfff0000000000001 && bits <= 0xfff0000000000001)
this.variables = [NaN];
else
{
var s = ((bits >> 63) == 0) ? 1 : -1;
var e = ((bits >> 52) & 0x7ff);
this.variables = [(e == 0) ? (bits & 0xfffffffffffff) << 1 : (bits & 0xfffffffffffff) | 0x10000000000000];
// This must be incorrect because it returns a number many times higher than it should
}
console.log(this.variables[0]);

最佳答案

我找到了一个 JavaScript 库,它可以对字节数组中的许多不同类型的数字进行编码和解码 here .

关于JavaScript 中的 java.lang.Double.longBitsToDouble 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7957777/

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