Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Javascript中查找要更改以获得等效二进制数的位数_Javascript - Fatal编程技术网

在Javascript中查找要更改以获得等效二进制数的位数

在Javascript中查找要更改以获得等效二进制数的位数,javascript,Javascript,目标是确定需要更改二进制数中的多少位才能正确表示十进制数(0更改为1,反之亦然) 例如:如果strArr为[“56”,“011000”],那么您的程序应该返回1,因为只有1位数字需要在二进制数中更改(第一个零需要变成1)才能正确地表示二进制中的56 输入:[“5624”、“00101111001”];输出:2 输入:[“44”,“111111”];输出:3 到目前为止我都试过了- 函数OffBinary(strArr){ 设binaryNum= 编号(strArr).toString(2).s

目标是确定需要更改二进制数中的多少位才能正确表示十进制数(0更改为1,反之亦然)

例如:如果strArr为[“56”,“011000”],那么您的程序应该返回1,因为只有1位数字需要在二进制数中更改(第一个零需要变成1)才能正确地表示二进制中的56

输入:[“5624”、“00101111001”];输出:2

输入:[“44”,“111111”];输出:3

到目前为止我都试过了-

函数OffBinary(strArr){ 设binaryNum= 编号(strArr).toString(2).split(“”).reverse().join(“”); 返回parseInt(binaryNum+“00”,2); } log(OffBinary([“5624”,“00101111001”]); log(OffBinary([“44”,“111111”])使用以下命令:

function OffBinary(strArr) { 
  let changes = 0;
  Number(strArr[0]).toString(2).split('').forEach((digit, i)=>{
    if (digit != strArr[1].charAt(i)) changes++;         
  });
  return changes;
}