使用 JavaScript 计算和添加二进制中的奇偶校验位


奇偶校验位

奇偶校验位或检查位是添加到一串位中的一个位,以确保字符串中 1 位的总数为偶数或奇数。

问题

我们需要编写一个 JavaScript 函数,它接受两个参数,一个是所需的奇偶校验(始终为“偶数”或“奇数”),另一个是我们要检查的数字的二进制表示形式。

我们函数的任务是返回一个整数(0 或 1),这是我们需要添加到二进制表示中的奇偶校验位,以便结果字符串的奇偶校验符合预期。

示例

以下是代码 −

 在线演示

const parity = 'even';
const bin = '0101010';
const findParity = (parity, bin) => {
   const arr = bin
   .toString()
   .split("");
   let countOnes = 0;
   let res = 0;
   for (let i = 0; i < arr.length; i++) {
      if (arr[i] == 1) {
         countOnes += 1;
      }
   };
   if (parity == 'even') {
      if (countOnes%2 == 0) {
         res = 0;
      } else {
         res = 1;
      }
   } else {
      if (countOnes%2 !== 0) {
         res = 0;
      } else {
         res = 1;
      }
   };
   return res;
};
console.log(findParity(parity, bin));

输出

1

更新于: 21-04-2021

583 浏览

开启你的 职业生涯

通过完成课程获取认证

马上开始
广告