我想在javascript中有2个数字。他们俩都是33位长在C#中: ((4294967296 & 4294967296 )==0) is false但是在javascript中: ((4294967296 & 4294967296 )==0) is true4294967296是((long)1)据我了解,这是由于JavaScript在执行按位运算时会将值转换为int32。我该如何解决?关于如何替换位以及使用一组其他数学运算的任何建议,以使位不会丢失? (adsbygoogle = window.adsbygoogle || []).push({}); 最佳答案 您可以将每个var分成2个32位值(例如高位字和低位字),然后在这两对上进行按位运算。下面的脚本作为Windows .js脚本运行。您可以将WScript.Echo()替换为Web的alert()。var a = 4294967296;var b = 4294967296;var w = 4294967296; // 2^32var aHI = a / w;var aLO = a % w;var bHI = b / w;var bLO = b % w;WScript.Echo((aHI & bHI) * w + (aLO & bLO)); (adsbygoogle = window.adsbygoogle || []).push({});
09-20 13:34