用 JavaScript 检测小数二进制位中是否有两个公有 1


问题

要求编写一个 JavaScript 函数来接收两个数字。如果两个数字的二进制表示中有 1 在同一索引位出现两次,则函数应返回 true,否则返回 false。

示例

以下为该代码 −

 实时演示

const num1 = 10;
const num2 = 15;
const checkBits = (num1 = 1, num2 = 1) => {
   let c = num1.toString(2).split('');
   let d = num2.toString(2).split('');
   if(c.length > d.length){
      c = c.slice(c.length - d.length);
   }else{
      d = d.slice(d.length - c.length);
   };
   let count = 0;
   for(let i = 0; i < d.length; i++){
      if(c[i] === "1" && d[i] === "1"){
         count++;
      };
   };
   return count > 1;
};
console.log(checkBits(num1, num2));

输出

以下为控制台输出 −

true

更新于: 20-Apr-2021

77 查看次数

开启你的职业生涯

完成课程并获得认证

开始
广告
© . All rights reserved.