1 분 소요


숫자 코드와 문자 코드가 컴퓨터 내부에서 어떻게 표현되는지 살펴보자.

▶ 숫자 코드

▷ BCD 코드

BCD(Binary-Coded-Decimal-code) 코드란?

  • 10진수의 각 자리 숫자를 4bit(네 자리)의 이진수로 표현한 코드
  • 실제 표기는 2진수지만 10진수처럼 사용한다.
  • BCD 코드(=2진화 10진 코드, =8421 코드)
  • BCD 코드는 각 자리값에 8,4,2,1이라는 가중치가 있기 때문에 가중치 코드이다.


BCD 코드 구현 방법

아래와 같이 하나의 값(10진수)을 4개의 2진수 bit로 나타낼 수 있다.


BCD와 2진수와의 비교

  • BCD는 10진수를 2진수로 변환해주는거 아닌가? NO!!

  • 10진수로 또는 10진수로부터의 변환이 상대적으로 용이하다.


BCD 코드는 현재 잘 사용하지 않는다!

① 2진수보다 더 많은 비트들을 필요로 하여 덜 효율적이다. ② 연산 빠르지만 저장공간 커지고 복잡한 회로를 필요로한다.


▷ 3초과 코드

3초과 코드(excess 3 code)란?

  • BCD 코드의 표현(8421 코드)에 2진수 0011(10진수 3)을 더해서 표현한 코드를 말한다.
    • 즉,BCD를 기반으로 10진수를 +3 해주는 것


3초과 코드 구현 방법


3초과 코드 특징

non-weighted 코드

  • 가중치(weight)가 없는 코드
② 보수를 간단히 얻을 수 있다.
보수를 구할 떄 스위칭만 하면 되기 때문 ex : 10진수의 1은 3초과 코드 0100 → 1과 0을 바꾸면 1011(10진수 8)
③ 어떠한 경우에도 2진수 전부가 0이 되지 않으므로 신호가 있는 것과 0을 구별하기 쉽다.
0을 나타내도 +3한 숫자를 나타내는 것이기 때문이다.


▷ 그레이 코드

그레이 코드(Gray code)란?

  • 최소 변화 코드: 모든 비트들이 어느 곳에서든지 한 단계에서 다음 단계로 가는 데 있어서 비트가 1개씩 변화하는 코드를 말한다.
  • non-weighted 코드이다.


그레이 코드 구현 방법

  • 2진수(Binary) -> 그레이 코드 변환 ① 최상위 비트 그대로 내려온다. ② 2진수의 앞 비트와 그 뒤 비트를 합하고 올림수를 없앤 것을 다음 비트로 한다.


  • 그레이 코드 1101₍₂₎ -> 2진수(Binary) 변환 ① 최상위 비트 그대로 내려온다. ② 2진수 첫 번째 수와 그레이 코드 두 번째 수를 더한다. ③ 마찬가지로 두 번째 수와 세 번째 수를 더한다. ④ 마지막으로 세 번째 수와 네 번째 수를 더한다. 0 + 1 = 1 => 즉 2진수는 1001




▶ 문자 코드

컴퓨터 내부에서 사용하는 EBCDIC 코드와 컴퓨터 외부에서 사용되는 ASCII 코드에 대해 알아보자.

▷ EBCDIC 코드

  • 문자 데이터(영문자, 특수문자 등 표현)의 내부 통신에 사용되는 코드
  • 4개의 zone 비트와 4개의 숫자 비트로 구성된다.
  • 정보 교환을 위한 코드가 아니므로 패리티 비트가 존재하지 않는다.


▷ ASCII 코드

  • 7비트의 정보교환용 외부 통신에 사용되는 코드
  • 3개의 zone 비트와 4개의 숫자 비트로 구성 (제어를 위해 1비트 추가)




🔖정리




📎참조

  • 『 성결대학교 김자원 교수님 』 - 컴퓨터 구조 (2023)
  • 『 컴퓨터구조(제5판) 』 - 복두 출판사

댓글남기기