Mano의 컴퓨터시스템구조

[mano의 컴퓨터시스템 구조] 3장 데이터의 표현

studyingalone 2024. 11. 15. 16:17

mano의 컴퓨터시스템 구조: 3장  데이터의 표현

3.1 데이터의 종류

  1. 산술 연산에 쓰이는 숫자
  2. 데이터 처리에 쓰이는 영문자
  3. 특수 목적에 쓰이는 기호

십진수 소수 이진수 변환

0.6875 to binary

 

  • 0.6875를 이진수로 변환하면 (0.1011)이 된다.
  • 십진수 값에 2를 곱해, 정수는 취하고 소수부는 다시 2를 곱한다.
  • 소수부가 0이되면 종료

3.2 보수 (Complements)

보수는 디지털 컴퓨터에서 뺄셈 연산과 논리 계산에 사용된다

 

10진수

  • 9의 보수
  • 10의 보수: 9의 보수 + 1

➡️ 각 자릿수의 합이 9, 10를 만드는 값이다.

ex>

  • 135의 9의 보수: 999 - 135 = 864 
  • 135의 10의 보수: 1000 - 135 = 865    or    864 + 1 = 865

2진수

  • 1의 보수: 0을 1로, 1을 0으로 전환
  • 2의 보수: 1의 보수 + 1

ex> 

  • 0101의 1의 보수: 1010
  • 0101의 2의 보수: 1010 + 1 = 1011

보수 뺄셈

빼기 연산을 덧셈으로 처리할 수 있어 사용

 

이렇게 하면된다.


3.4 부동소수점

https://blog.naver.com/kimbh666/221374830597

 

컴퓨터구조_ch3/2

나눗셈 나눗셈의 수식 표현 A ÷ B = q ····· r 단, A : 피제수(dividend), B : 제수(divisor) q ...

blog.naver.com

 

2진 부동소수점

2진 부동소수점의 표현: 2¹⁰의 부동소수점 표현

 

 

이런식으로 하는거..


3.5 기타 이진 코드

BCD 코드

0에서 9까지의 10진수를 0, 1의 조합으로 표시하는 코드

1010부터 1111까지 6개는 사용하지 않는다.

BCD 코드

가중치 코드: 각 비트의 위치에 따라 값이 정해진 코드 

➡️ BCD, 8421 등

비가중치 코드: 값이 정해지지 않은 코드

➡️3초과 코드(Excess-3): BCD + 3

 

코드 별 각 자리의 가중치

  • 8421: 2³ 2² 2¹ 2⁰
  • 2421: 2 4 2 1
  • Excess-3: 8421 코드에서 3을 더한다
  • 84-2-1: 8 4 -2 -1

자기보수화

스스로 보수를 만드는 코드

 

요로캐


그레이 코드(Gray Code)

  • 하나의 숫자에서 다음 숫자로 넘어갈 때, 한 자리만 변화하는 코드이다.

https://blog.naver.com/k97b1114/140156127190

 

그레이(gray) 코드

그레이 코드는 가중치가 없는 코드이기 때문에 연산에는 부적당하다. 대신에 아날로그-디지털 변환기나 입...

blog.naver.com

설명을 잘하셨다.


패리티 비트(parity bit)

  • 데이터 전송 과정에 오류가 있는지 검사하기 위한 추가 코드
  • 짝수, 홀수 패리티가 있다.
  • 1의 총 개수를 짝수 or 홀수로 만들기 위한 추가 비트
  • 단점: 오류 검출만 가능, 정정은 불가능하다. ➡️이를 보완한 것이 병렬 패리티

 

해밍코드(Hamming Code)

  • 하나의 비트에 오류가 발생했을 때, 그 위치를 찾아서 정정
  • n 개의 데이터 워트에 k 비트의 패리티를 더해 새로운 n + k 비트 데이터 생성

➡️ 각 비트의 위치는 1에서 n + k 까지 차례로 숫자가 붙는다.

 

 

위의 그림에 색칠한 것을 잘 따라가보면 느낌이 오면 좋아요

해밍코드 참고: https://velog.io/@letskuku/%EC%BB%B4%ED%93%A8%ED%84%B0%EA%B5%AC%EC%A1%B0-%ED%8C%A8%EB%A6%AC%ED%8B%B0-%EB%B9%84%ED%8A%B8%EC%99%80-%ED%95%B4%EB%B0%8D-%EC%BD%94%EB%93%9C

 

[컴퓨터구조] 패리티 비트와 해밍 코드

패리티 비트(parity bit)는 정보의 전달 과정에서 오류가 생겼는지를 검사하기 위해 추가되는 비트로, 1 bit의 오류를 찾아낼 수 있다.패리티 비트를 포함한 데이터에서 1의 개수가 짝수인지 홀수인

velog.io

https://eastroot1590.tistory.com/entry/%EC%98%A4%EB%A5%98-%EA%B2%80%EC%B6%9C-%EC%BD%94%EB%93%9C-%ED%95%B4%EB%B0%8D%EC%BD%94%EB%93%9CHamming-Code

 

오류 검출 코드 - 해밍코드(Hamming Code)

네트워크 통신을 하다보면 중간에 물리적인 장애물, 잡음 등으로 인해 데이터가 유실, 변경될 가능성이 있다. 그래서 데이터를 수신하는 수신부는 항상 수신받은 데이터가 정확한 데이터가 아

eastroot1590.tistory.com

 

 

디지털 설계에서 배운거라 슥삭 넘어가 보쟈..

해밍코드만 좀 보면 될거 같다. 헷갈리네