본문 바로가기
Study/Computer Science

컴퓨터 구조 - 0과 1로 숫자를 표현하는 방법

by 들숨날숨흡 2023. 7. 1.
728x90

비트 

  • 0과 1로 표현할 수 있는 가장 작은 정보 단위
  • n비트는 $2^n$ 가지 정보를 표현할 수 있다.
  • 워드
    • CPU가 한 번에 처리할 수 있는 데이터 크기를 의미한다.
    • CPU가 한 번에 16비트를 처리할 수 있다면, 1워드는 16비트이고, 한 번에 32비트를 처리할 수 있다면, 1워드는 32비트가 되는 것이다.
    • 하프 워드 : 정의된 워드의 절반 크기
    • 더블 워드 : 정의된 워드의 2배 크기
  • 이진법
    • 0과 1만으로 숫자를 표현하는 방법
    • 1을 넘어가는 시점에 자리를 올림하여 0과 1만으로 모든 수를 표현하는 방법
    • 이진수 끝에 아래첨자 (2)를 붙이거나 이진수 앞에 0b를 붙여 십진수와의 혼동을 예방한다
  • 이진수의 음수 표현
    • 1의 보수
      • 모든 이진수의 0과 1을 뒤집은 수 
    • 2의 보수
      • 0과 1만으로 음수를 표현하는 방법
      • 1의 보수에 1을 더하여 2의 보수 값을 구한다.
    • 하지만 이진수만 봐서는 음수인지 양수인지 구분하기 어렵기 때문에, 플래그를 사용하여 이를 구분한다.
  • 십육진법
    • 이진법의 단점 : 0과 1만으로 모든 숫자를 표현하다 보니 숫자의 길이가 너무 길어진다
    • 십육진법 : 수가 15를 넘어가는 시점에 자리 올림을 하는 숫자 표현 방식
    • 아래 첨자 (16)을 붙이거나 숫자 앞에 0x를 붙여 구분한다.
    • 장점 : 이진수를 십육진수로, 십육진수를 이진수로 변환하기 쉽다.
  • 문자 집합과 인코딩
    • 문자 집합 : 컴퓨터가 인식하고 표현할 수 있는 문자의 모음
    • 문자 인코딩 : 컴퓨터가 이해할 수 있게 문자를 0과 1로 변환하는 과정
    • 문자 디코딩 : 0과 1로 이루어진 문자 코드를 사람이 이해할 수 있는 문자로 변환하는 과정
  • 아스키 코드
    • 초창기 문자 집합 중 하나로, 영어 알파벳과 아라비아 숫자, 그리고 일부 특수 문자를 포함한다.
    • 아스키 문자 집합에 0부터 127까지의 수가 할당되어 아스키 코드로 인코딩된다.
    • 장점 : 매우 간단하게 인코딩됨
    • 단점 : 한글 뿐만 아니라 아스키 문자 집합 외의 문자, 특수분자를 표현할 수 없다.
  • EUC-KR
    • 한글을 2바이트 크기로 인코딩할 수 있는 완성형 인코딩 방식
      • 완성형 인코딩 : 초성, 중성, 종성의 조합으로 이루어진 완성된 하나의 글자에 고유한 코드를 부여하는 인코딩 방식
      • 조합형 인코딩 : 초성, 중성, 종성에 해당하는 코드를 합하여 하나의 글자 코드를 만드는 인코딩 방식
    • 단점 : 문자 집합에 정의되지 않은 "쀍, 쀓" 등의 글자는 표현할 수 없다.
  • CP949
    • EUC-KR의 단점을 해결하기 위해 등장한, EUC-KR의 확장된 버전
    • 이마저도 한글 전체를 표현하기에 넉넉한 양이 아니다.
  • 유니코드
    • 여러 나라의 문자를 광범위하게 표현할 수 있는 통일된 문자 집합
    • UTF : Unicode Transformation Format의 약어로 유니코드를 인코딩하는 방법
728x90