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

时间:2019-05-25 19:36:33

标签: javascript jquery bigint

我在网页上遇到问题,我试图使用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,然后显示大量的零

1 个答案:

答案 0 :(得分: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();