如何使用 XS+3 转换为二进制?

How to convert to binary using XS+3?

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

我在 HTML 网页上使用 Jquery。我不知道是否允许 post link,但如果没有问题,我会在评论中 link。我的 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();
       };
   });
});

如果我尝试将数字 37 转换为 8 位,那么它将是 37+(2^8-1=128)=165 并且必须将 165 转换为二进制,显示 10100101。当我尝试将 37 转换为 64 位,然后它只显示 1 后跟大量零

您将需要使用您的 bigint 库公开的 the methods

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();