พาริตีบิต
พาริตีบิตหรือเช็คบิตถูกเพิ่มเข้าไปในสตริงของบิตเพื่อให้แน่ใจว่าจำนวน 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