Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Javascript

การคำนวณและเพิ่มพาริตีบิตให้กับไบนารีโดยใช้ 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