在Javascript中查找要更改以获得等效二进制数的位数
目标是确定需要更改二进制数中的多少位才能正确表示十进制数(0更改为1,反之亦然) 例如:如果strArr为[“56”,“011000”],那么您的程序应该返回1,因为只有1位数字需要在二进制数中更改(第一个零需要变成1)才能正确地表示二进制中的56在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
输入:[“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;
}