Javascript 如何使用XS+;3.

Javascript 如何使用XS+;3.,javascript,jquery,bigint,Javascript,Jquery,Bigint,我的网页上出现了一个问题,我正在尝试使用2^n-1系统将其转换为二进制,但无法找到解决方案。我可以使用8、16和32位,但当我尝试转换长(64位)时,它就不起作用了。任何帮助都会很好 我在HTML网页上使用Jquery。我不知道是否允许发布链接,但如果没有问题,我会在评论中链接它。我的Jquery代码如下: $(document).ready(function(){ $("#boton").click(function(){ var var1 = bigInt($("#numero").v

我的网页上出现了一个问题,我正在尝试使用2^n-1系统将其转换为二进制,但无法找到解决方案。我可以使用8、16和32位,但当我尝试转换长(64位)时,它就不起作用了。任何帮助都会很好

我在HTML网页上使用Jquery。我不知道是否允许发布链接,但如果没有问题,我会在评论中链接它。我的Jquery代码如下:

$(document).ready(function(){
 $("#boton").click(function(){
  var var1 = bigInt($("#numero").val());
  var var3 = bigInt($("input[name='bit']:checked").val());
  var var3 = var3 - 1;
  var var4 = bigInt(2).pow(var3);
  var var5 = var1 + var4;
  if (var5!=0){
     var var2 = bigInt(var5).toString(2);
     $("#final").text("El numero es " + var2.match(/.{4}/g));
     $("#final").show();
  } else {
        $("#final").text("El numero es 0");
        $("#final").show();
       };
   });
});
例如,如果我尝试转换8位上的数字37,那么它将是37+(2^8-1=128)=165,并且必须将165转换为二进制,显示10100101。当我尝试转换64位上的37时,它只显示1后跟大量的零

您将需要使用bigint库公开的值:

var var1 = bigInt($("#numero").val());
var var3 = bigInt($("input[name='bit']:checked").val());
var3 = var3.subtract(1);
//         ^^^^^^^^^
var var4 = bigInt(2).pow(var3);
var var5 = var1.add(var4);
//             ^^^^
if (var5.notEquals(0)) {
//      ^^^^^^^^^^
    var var2 = var5.toString(2);
    $("#final").text("El numero es " + var2.match(/.{4}/g));
} else {
    $("#final").text("El numero es 0");
}
$("#final").show();

那是什么
bigint
函数?您的
var3=var3-1
var5=var1+var4
不是使用biginger逻辑put计算的,而是使用简单的js数运算符,这可能是问题所在。改用bigint库的方法。您也不需要
bigInt(var5)
(因为
var5
应该已经是bigInt实例)和更改
var5=0
转换为bigint比较。这是我的老师推荐的,这样我就可以处理大数字了。我的网站上有一个单选按钮,这取决于你使用大数字还是小数字。对于64位,我必须添加bigInt而不是parseInt。这是网站顺便说一句:请发布您的
bigint
函数或指出您正在使用的库。我正在使用Peter Olson的“非常感谢您的帮助!我真的很感激。这很有魅力,现在我可以继续我的其他任务了。祝你万事如意