Bit Parity
Bit parity, hoặc bit kiểm tra, là một bit được thêm vào chuỗi bit để đảm bảo tổng số bit 1 trong chuỗi là chẵn hoặc lẻ.
Vấn đề
Chúng ta cần viết một hàm JavaScript nhận vào hai tham số, một là parity mong muốn (luôn là 'even' hoặc 'odd'), và hai là biểu diễn nhị phân của số cần kiểm tra.
Nhiệm vụ của hàm là trả về một số nguyên (0 hoặc 1), là bit parity cần thêm vào biểu diễn nhị phân để parity của chuỗi kết quả như mong đợi.
Ví dụ
Dưới đây là mã:
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));
Kết quả
1