Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/384.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 一直在解码一个变量_Javascript_Binary_Decode_Binary Data - Fatal编程技术网

Javascript 一直在解码一个变量

Javascript 一直在解码一个变量,javascript,binary,decode,binary-data,Javascript,Binary,Decode,Binary Data,我会得到很多反对票,但我对二进制一无所知,我遇到了一些需要解码的东西,这里: tst; tst = 501511502 << 64; tst |= 485000121 << 32; tst |= 100001250; 有人能帮我做这件事吗? 谢谢你,很抱歉我没有时间去学习二进制。移位64位超过了JavaScript的数字精度。但如果它能容纳这样的数字,你可以通过右移和掩蔽来解码: number1 = tst >> 64 & 0xffffffff; /

我会得到很多反对票,但我对二进制一无所知,我遇到了一些需要解码的东西,这里:

tst;
tst = 501511502 << 64;
tst |= 485000121 << 32;
tst |= 100001250;
有人能帮我做这件事吗?
谢谢你,很抱歉我没有时间去学习二进制。移位64位超过了JavaScript的数字精度。但如果它能容纳这样的数字,你可以通过右移和掩蔽来解码:

number1 = tst >> 64 & 0xffffffff; // 501511502
number2 = tst >> 32 & 0xffffffff; // 485000121
number3 = tst & 0xffffffff; // 100001250

0xFFFFFF是数字的32位字段的掩码。

我认为您无法对其进行解码。当您将按位或与1位一起使用时,无论输入如何,结果都是1。@Barmar我编辑了代码,现在呢?可能吗?现在数字超过了JavaScript的精度。抱歉,我不明白这一点,我应该为tst放什么?tst是您发布的代码的结果。那么什么是0xFFFFFF?它屏蔽了32位。非常感谢,这很有效,但我还有一个例子,tst数字更长,我认为0xFFFFFF对它们不起作用,对于较大的数字,我应该怎么做?你有可以分享的面具的来源吗?