[컴퓨터구조] 디지털 코드

허민엽·2023년 12월 30일
0

공부하는 중이라 부정확하고 부족한 지식일 수있습니다! 댓글로 지적 부탁드립니다!


디지털 코드


BCD 코드(Binary Coded Decimal Code)

  • 10진수 0(0000)부터 9(1001)까지를 2진화한 코드
  • 표기는 2진수이지만 의미는 10진수
  • 2진수 1010부터 1111까지 6개는 사용x

10진수 237를 BCD 코드로 변환하여라

  • 20010\underbrace{2}_{\text{0010}}30011\underbrace{3}_{\text{0011}}70111\underbrace{7}_{\text{0111}}(10)_{(10)}    \implies001000110111(BCD)0010 0011 0111_{(BCD)}

BCD 코드 연산

  • BCD 코드 연산은 자리별로 2진수 연산
  • 계산 결과가 9를 넘어서 BCD 코드를 벗어나는 경우에는 결과에 6(0110)를 더함

예제1

6106_{10} + 3103_{10}을 BCD 코드를 이용해서 계산하여라

  • 6106_{10} = 0110(BCD)0110_{(BCD)}
  • 3103_{10} = 0011(BCD)0011_{(BCD)}
  • 0110(BCD)0110_{(BCD)} + 0011(BCD)0011_{(BCD)} = 1001(BCD)1001_{(BCD)}

421042_{10} + 371037_{10}을 BCD 코드를 이용해서 계산하여라

  • 421042_{10} = 01100110 0010(BCD)0010_{(BCD)}
  • 371037_{10} = 00110011 0111(BCD)0111_{(BCD)}
  • 01100110 0010(BCD)0010_{(BCD)} + 00110011 0111(BCD)0111_{(BCD)} = 01110111 1001(BCD)1001_{(BCD)}

8108_{10} + 7107_{10}을 BCD 코드를 이용해서 계산하여라

  • 8108_{10} = 1000(BCD)1000_{(BCD)}
  • 7107_{10} = 0111(BCD)0111_{(BCD)}
  • 1000(BCD)1000_{(BCD)} + 0111(BCD)0111_{(BCD)} = 1111(BCD)1111_{(BCD)} + 0110(BCD)0110_{(BCD)} = 00010001 0101(BCD)0101_{(BCD)}

그레이 코드(Gray Code)

  • 가중치(Weight)가 없는 코드이기 때문에 연산에는 부적합
  • 오류가 많은 환경, 통신, 보안등 특수환경에서 사용

2진코드와 그레이 코드 상호 변환 방법

  • XOR 논리 연산을 사용
  • 2진 코드 -> 그레이 코드
  • 그레이 코드 -> 2진 코드

예제2

2진 코드 011120111_{2}을 그레이 코드로 변환하여라

  • 011120111_{2} = 0100(Gray)0100_{(Gray)}

그레이 코드 0100(GRAY)0100_{(GRAY)}을 2진 코드로 변환하여라

  • 0100(GRAY)0100_{(GRAY)} = 011120111_{2}

2진 코드 101011121010111_{2}을 그레이 코드로 변환하여라

  • 101011121010111_{2} = 11111000(Gray)11111000_{(Gray)}

그레이 코드 11011001(GRAY)11011001_{(GRAY)}을 2진 코드로 변환하여라

  • 11011001(GRAY)11011001_{(GRAY)} = 10010001210010001_{2}

아스키 코드(ASCII Code)

  • 미국 국립 표준 연구소(ANSI)가 제정한 정보 교환용 미국 표준 코드
  • 128가지 문자 표현 가능
  • 0x31(1) ~ 0x39(9)
  • 0x41(A) ~ 0x5A(Z)
  • 0x61(a) ~ 0x7A(z)

유니코드(Unicode)

  • 전 세계의 모든 문자를 다루도록 설계된 표준 문자 전산 처리 방식
  • 다국어 기본 평면(일반적인 문자) U+xxxx에서 x는 16진수 값을 가지므로 16416^4(= 65,536)가지를 나타낼 수 있음.
    자세한건 여기를 참고하자.
profile
코딩 날먹하고싶ㄷㅏ!

0개의 댓글