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对它们不起作用,对于较大的数字,我应该怎么做?你有可以分享的面具的来源吗?