ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [디지털공학개론] 2진 코드 시스템
    학점은행제/디지털공학개론 2021. 1. 20. 15:21

     

    코드 종류

    • BCD코드 : 숫자만 표현 가능한 초창기 계산기, PLC
    • 확장BCD코드 : 문자, 숫자 표현
    • 3초과코드 (Excess-3 코드)
    • 아스키코드(ASCII) : 컴퓨터에서 문자 표현 시 사용
    • 그레이코드
    • 2 out of 5 : 통신에서 에러 검출용으로 사용
    • 해밍코드 : 에러 검출 및 수정용으로 사용
    • 조합형한글코드, 완성형한글코드 : 컴퓨터에서 한글 표현을 하기 위해 사용

     

    BCD (Binary Coded Decimal Code, 8421) 코드

    • 10진수 0(0000)부터 9(1001)까지를 2진화한 코드
    • 표기는 2진수이지만 의미는 10진수
    • 기억해야할 특징 : 1010부터 1111까지 6개는 사용하지 않음
    • 10진수 다루듯 사용이 가능함
    • 요즘은 실제로 BCD를 범용컴퓨터에 잘 사용하지 않지만 만약 어떤 하드웨어 장치가 10진수만 사용하는경우에는 BCD를 사용하는 경우도 있음
    • 196 = 0001 1001 0110
    • 237 = 0010 0011 0111

     

    10진 덧셈 (6+3=9)
      0110
    + 0011
    -------
      1001
        =9
    
    10진 덧셈 (42+27=69)
      0100 0010
    + 0010 0111
    -----------
      0110 1001
      =60    =9

     

     

    • 계산결과가 BCD 코드를 벗어나는 즉, 9(1001)를 초과하는 경우에는 계산결과에 6(0110)을 더해준다
    10진 덧셈 (8+7=15)
    
      1000
    + 0111
    ---------
      1111
    + 0110
    ---------
    0001 0101

     

     

    확장 BCD (Binary Coded Decimal Code, 8421) 코드

    • 6비트로 하나의 문자를 표현
    • 최대 64문자까지 표현 가능한 코드

     

     

    3초과 코드 (Excess-3 code)

    • BCD에 3을 더해준 코드
    • 자기 보수의 성질 : 10진수로 9의 보수 관계를 가짐

     

     

    아스키코드 (ASCII)

    • 미국 국립 표준 연구소(ANSI)가 제정한 정보 교환용 미국 표준 코드
    • 128가지의 문자를 표현할 수 있음
    • 7개의 비트를 가지며 맨 앞비트는 패리티비트라고 함

    7개의 비트를 가짐

     

     

    그레이코드

    • 가중치가 없는 코드이기 때문에 연산에는 부적합하지만 아날로그-디지털 변환기나 입출력 장치 코드로 주로 쓰임
    • 연속되는 코드들 간에 하나의 비트만 변화하여 새로운 코드가 됌
    • 이게 무슨말이냐면 0부터 7의 2진수 표현이 아래처럼 있음
    • 그레이코드는 가까이 있는 비트와 비교했을때 하나의 비트만 다름
    • 0은 0000, 1은 0001, 2는 0011 이렇게 딱 한 비트만 다름
    • 이해가 잘 안되면 그냥 아 그레이코드는 하나의 비트만 다르구나 하고 이해만 하자

    • 2진 코드를 그레이코드로 변경하려면 XOR 게이트를 지나가게 하면 된다
    • XOR 게이트 : 같으면 0 다르면 1을 출력함 (익스클루시브 오알 게이트 XOR)

    2진코드를 그레이코드로 변환하는 방법

    • 옆자리랑 비교했을때 같으면 1 아니면 0
    • 아래 0111 을 변화하는 과정을 풀이해보면
    • 0과 1을 비교 = 다르네 = 0
    • 1과 1을 비교 = 같네 = 1
    • 0과 1을 비교 = 다르네 = 0
    • 0과 1을 비교 = 다르네 = 0
    • 그레이 코드로 변환 후 = 0100

    그레이코드를 2진코드로 변환하는 방법

    • 위와 같은 방법으로 진행

     

     

    2 out of 5 코드, 63210 코드 (이 두코드는 다르지만 비슷한 코드임)

    • 2 out of 5코드는 5개의 비트중 2개만 1이 있는 코드로 구성되어 있음
    • 63210 코드도 5개의 비트로 나타내며 2개의 비트만 1이고 0을 제외한 나머지는 웨이트가 있음
    • 두 코드는 에러 검출용으로 사용 가능 (하지만 실제로는 사용하지 않음)

     

     

    EBCDIC 코드

    • 대형 컴퓨터와 IBM 계열 컴퓨터에서 많이 사용되고 있는 8비트 코드
    • 아스키보다 많은 종류의 문자 표현 가능
    • 256종류의 문자 코드를 표현할 수 있는 영숫자 코드
    • 9번째는 패리티를 쓰고, 4개는 존, 4개는 디지트비트
    • 영문 대문자, 영문 소문자, 특수문자

     

    한글코드

    • 한글은 ASCII 코드를 기반으로 16비트를 사용하여 하나의 문자를 표현함

    1. 조합형

    • 조합형으로 표현된 한글은 때에 따라서 다른 응용프로그램에서는 사용할 수 없는 문자들이 많음
    • 조합형은 자음과 모음으로 조합 가능한 모든 한글을 사용할 수 있으며, 심지어 우리나라 고어까지 취급할 수 있는 장점이 있지만, 출력시 다시 모아 써야하는 불편이 있다는것이 단점임

    2. 완성형

    • 1987년 정부가 한국표준으로 정한것으로 가장 많이 사용되는 한글 음절을 2바이트의 2진수와 1대 1로 대응하여 표현하는 방법
    • 16비트로 한 글자씩 매핑시켜서 사용하는걸 말함
    • "한국" 의 "한" 을 어떠한 16비트 2진수를 만들어 놓고 "한"을 칠때마다 미리 매핑시켜놓은 16비트 2진수를 가져와서 사용하는것
    • 한국어는 16비트로 사용되고 있음
    • 메모리가 많이 필요함

     

    유니코드

    • ASCII 코드의 한계성을 극복하기 위하여 개발된 인터넷 시대의 표준
    • 16비트(2의16승)로 되어 있음
    • 65536 개의 경우의 수가 있으니, 65536개의 문자를 사용할 수 있음
    • 유니코드 컨소시엄(IBM, Novell, Microsoft, DEC, Apple 등)에 의해서 32(UTF-32), 16(UTF-16), 8bit(UTF-8)의 세 가지 기본 코드
    • 미국, 유럽, 동아시아, 아프리카, 아시아 태평양 지역 등의 주요 언어들에 적용 될 수 있음
    • 유니코드는 유럽, 중동, 아시아 등 거의 대부분의 문자를 포함하고 있으며, 10만개 이상의 문자로 구성되어 있음
    • 특히 아시아의 중국, 일본, 한국, 타이완, 베트남, 싱가폴에서 사용하는 표의 문자(한자) 70,207개를 나타낼 수 있음
    • 구두표시, 수학기호, 전문기호, 기하학적 모양, 딩벳 기호 등을 포함
    • 앞으로도 계속해서 산업계의 요구나 새로운 문자들을 추가하여 나갈 것임
    • 한글은 ASCII 코드를 기반으로 16비트를 사용하여 하나의 문자를 표현함

     

     

    댓글

Today
Designed by Danbee Park.