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