lala9663
Bump into
lala9663
전체 방문자
오늘
어제
  • 분류 전체보기 (158)
    • JavaScript (1)
    • Java (39)
    • Spring (28)
    • IntelliJ (7)
    • Git,Github (2)
    • CS (22)
    • Algorithm (23)
      • Algorithm 문제 (13)
    • 공부방 (9)
    • 그 외 (27)
      • TIL (24)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 웹 3.0
  • 스트림(Stream)
  • 자바
  • Intellij
  • thread
  • 백준
  • jsp
  • 동적
  • 1193
  • 자바 람다
  • 백준 벌집
  • servlet
  • 백준 2292
  • was
  • 웹서버
  • Til
  • Spring
  • try-catch
  • Java
  • Get
  • Post
  • 정적

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
lala9663

Bump into

CS

패리티 비트 & 해밍 코드

2023. 3. 12. 17:34

패리티 비트

정보 전달 과정에서 오류가 생겼는지 검사하기 위해 추가하는 비트를 말한다.
전송하고자 하는 데이터의 각 문자에 1비트를 더하여 전송한다.

종류: 짝수, 홀수

전체 비트에서(짝수, 홀수)에 맞도록 비트를 정하는 것

짝수 패이티일때 7 비트 데이터가 1010001 이라면?
1이 총 3개 이므로, 짝수로 맞춰주기 위해 1을 더해야 한다.
답: 11010001(맨 앞이 패리티비트)

해밍 코드

데이터 전송 시 1비트의 에러를 정정할 수 있는 자기 오류정정 코드를 말한다.
패리티비트를 보고, 1비트에 대한 오류를 정정할 곳을 찾아 수정할 수 있다.(패리티 비트는 오류를 검출하기만 할 뿐 수정하지는 않기 때문에 해밍코드를 활용한다)

방법

2의 n승 번째 자리인 1,2,4 번째 자릿수가 패리티 비트라는 것으로부터 시작한다.
이 숫자로부터 시작하는 세개의 패리티 비트가 짝수인지, 홀수인지 기준으로 판별한다.


짝수 패리티의 해밍 코드가 0011011일때 오류가 수정된 코드는?

1) 1,3,5,7 번째 비트 확인: 0101로 짝수이므로 '0'
2) 2,3,6,7 번째 비트 확인: 0111로 홀수이므로 '1'
3) 4,5,6,7 번째 비트 확인: 1011로 홀수이므로 '1'


역순으로 패리티비트 '110'을 도출했다. 10진법으로 바꾸면 '6'으로, '6'번째 비트를 수정하면 된다.
따라서 정답은 00110'0'1' 이다.







참고: [패리티비트&해밍코드](https://gyoogle.dev/blog/computer-science/computer-architecture/%ED%8C%A8%EB%A6%AC%ED%8B%B0%20%EB%B9%84%ED%8A%B8%20&%20%ED%95%B4%EB%B0%8D%20%EC%BD%94%EB%93%9C.html)

'CS' 카테고리의 다른 글

jOOQ 란  (0) 2023.04.28
DSL 이란  (0) 2023.04.28
애자일(Agile) 방법론  (0) 2023.03.09
캐시 메모리  (0) 2023.03.05
CPU 작동 원리  (0) 2023.03.02
    'CS' 카테고리의 다른 글
    • jOOQ 란
    • DSL 이란
    • 애자일(Agile) 방법론
    • 캐시 메모리
    lala9663
    lala9663
    초보의 험난한 공부

    티스토리툴바