자료

 

외부적 표현

BCD 코드 (Binary Coded Decimal)

= 2진화 10진 코드 or 8421 코드

  • 6bit 문자(영어 대문자) 표현 또는 4bit 숫자 표현
  • 6bit 코드
    (Zone bit 2bit, Digit bit 4bit)
  • 2^6 = 64개까지의 문자 표현

ASCII 코드 (American Standard Code for Information Interchange)

  • 7bit 코드
    (Zone bit 3bit, Digit bit 4bit)
  • 2^7 = 128개의 문자를 표현
  • 7bit + parity 1bit = 8bit
  • 영어 대소문자, 아라비아 숫자, 제어문자
  • 데이터통신 및 마이크로 컴퓨터용

EBCDIC 코드

  • 8bit 코드
    (Zone bit 4bit, Digit bit 4bit)
  • 2^8 = 256개의 문자를 표현
  • 대형 컴퓨터

Uni-Code

  • 2byte 통합코드
  • 2^16 = 65,536개의 문자 표현

3 초과 코드 (eXceSs-3 code)

  • 비가중치 코드(Non-Weighted Code)
    자릿값에 의미를 두지 않는 코드
  • 자기보수코드 (Self-Complement Code)
  • BCD 코드 + 3(0011)
    8을 3 초과 코드로 표현하면?
    1000 + 0011 = 1011
    

패리티 검사 코드

  • 코드를 송신하는 컴퓨터에 패리티 생성기가 있고 수신하는 컴퓨터에 패리티 검사기가 있다.
  • 오류 검출 코드, 오류 정정 X
  • 홀수개의 오류만 검출
  • 기수(Odd, 홀수) 패리티, 우수(Even, 짝수) 패리티

(1) Odd Parity (기수 패리티)

  • 코드에서 1인 비트의 수가 홀수가 되도록 0이나 1 추가
    10100001에 홀수 패리티를 추가하면?
    이미 1의 개수가 3개로, 홀수개이므로 0을 추가하여 101000010
    

(2) Even Parity (우수 패리티)

  • 코드에서 1인 비트의 수가 짝수가 되도록 0이나 1을 추가
    10100001에 짝수 패리티를 추가하면? 
    1의 개수가 3개로, 홀수개이므로 1을 추가하여 101000011
    

해밍 코드 (Haming Code)

  • 오류 검출 및 정정
  • 2bit 오류 검출 및 1bit의 오류 교정
  • 1, 2, 4, 8, …, 2^n번째 패리티 비트
  • 해밍 거리(Haming Distance)는 원본 데이터에서 몇 bit가 변화하였는지에 대한 것
4비트의 정보(1011)를 홀수 패리티 비트를 사용하는 해밍코드로 변환하여 전송할 때 올바른 해밍 코드는?  

1. 첫 번째 자리에 들어갈 패리티 비트
	(_) _ (1) _ (0) 1 (1)
괄호 친 부분에서 코드 결정
여기서는 홀수 패리티 비트니까 괄호 안에 1이 와야 함.

2. 두 번째 자리
	1 (_ 1) _ 0 (1 1)
총 1이 3개 있으니까 0이 들어가야 함.

3. 세 번째 자리
	1 0 1 (_ 0 1 1)
1이 2개 있으니까 1이 들어가야 함.

	해밍 코드 : 1011011
해밍 코드 검사하는 방법은?

1. 첫 번째 패리티 비트 검사
	(1) 0 (1) 1 (1) 1 (1)
홀수 패리티 비트에 1이 짝수이므로 맞지 않음 => 1

2. 두 번째 패리티 비트 검사
	1 (0 1) 1 1 (1 1)
1이 홀수이므로 알맞음 => 0

3. 세 번째 패리티 비트 검사
	1 0 1 (1 1 1 1)
1이 짝수 => 1

결과로 각각 나온 수를 아래에서부터 거꾸로 올라가며 작성하면 101
101을 10진수로 바꾸면 5
1 0 1 1 (1) 1 1
앞에서부터 다섯번째 숫자에서 에러가 발생했음을 알 수 있음


내부적 표현 (수치 표현)

  • 정수 (고정소수점)
    • 10진 표현
      • Pack형
      • Unpack형
    • 2진 표현
      • 부호와 절대값
      • 부호와 1의 보수
      • 부호와 2의 보수
  • 실수 (부동소수점)

정수 (고정소수점)

팩(Pack)형 (Packed Format)

Pack 10진 형식
- 최하위(맨 우측) byte의 4bit 부분을 부호로 사용
- 용도 : 10진수 연산 형식

언팩(UnPack)형 (Unpacked Format)

= 존 10진 형식 (Zoned Decimal)
- 존(Zone) 영역을 F(1111)로 채움
- 용도 : 10진수 입/출력 형식