使用 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