2_데이터

Joon·2023년 6월 30일
0

2-1. 0과 1로 숫자를 표현하는 방법

앞서 컴퓨터는 0과 1로 모든 정보를 표현한다고 했는데 어떻게 0과 1로 표현하는지 알아보자.

◦ 정보 단위

비트(bit) : 0과 1을 나타내는 가장 작은 단위를 비트라고 한다.
바이트(byte) : 비트를 8개로 묶은 단위이다. 2의 8승, 256개의 정보를 표현할 수 있다.
킬로바이트(kB) : 바이트를 1000개로 묶은 단위이다.
메가바이트(MB) : 킬로바이트를 1000개 묶은 단위이다.
기가바이트(GB) : 메가바이트를 1000개 묶은 단위이다.

◦ 이진법

컴퓨터는 0과 1만 이해한다. 즉 이진법으로 모든 데이터를 표현한다.

  • 이진수의 음수 표현

    2의 보수를 구해 이 값을 음수로 간주한다.
    2의 보수의 사진적 의미는 '어떤 수를 그보다 큰 2n에서 뺀값' 이다.
    예를들어 11(2)의 보수는 11(2)보다 큰 2n, 즉 100(2)에서 11(2)을 뺀 01(2)이 되는것이다.
    쉽게 표현하자면 '모든 0과 1를 뒤집고, 거기에 1을 더한값' 으로 이해하면 된다.

    예) 1001 -> 0111

하지만 이러한 음수 표현 방법에는 한계가 있다.
음수로 표현한 값과 양수로 표현한 값이 같을 수 있기 때문이다.
그래서 컴퓨터는 내부에서 어떤 값을 다룰 때 부가 정보가 필요한 경우 플래그를 사용한다.
플래그에 자세한 내용은 나중에 자세히 다루도록 하겠다.

2-2. 0과 1로 문자를 표현하는 방법

0과 1로 문자를 표현하는 다양한 방법에 대해 알아보자.

  • 문자 집합과 인코딩

    문자를 표현하는 방법에 알아보기 전 반드시 알아야 할 세가지 용어가 있다.
  1. 문자집합
    컴퓨터가 인식하고 표현할 수 있는 문자의 모음을 문자 집합 이라고 한다.

  2. 인코딩
    문자집합에 포함된 문자를 0과 1로 변환하는것을 인코딩 이라 한다.

아스키 코드
아스키는 초장기 문자 집합 중 하나로, 영어 알파벳,아라비아 숫자, 일부 특수 문자를 포함한다.
아스키 코드표를 보면 어떠한 숫자가 어떠한 문자로 매칭되어 변환되는지 알 수 있다.

EUC-KR
한글을 표현하는 문자 집합이며 한글 인코딩에는 완성형과 조합형이 있다.
EUC-KR은 완성형 인코딩이기 때문에 표현의 한계가 있다. 가령 '뷃' 같은 문자를 표현할 수 없다.

유니코드와 UTF-8
유니코드는 모든 언어를 통일된 표준 방식으로 인코딩 하기 위해 만들어 졌다.
글자에 부여된 값 자체를 인코딩된 값으로 삼지 않고 다양한 방법으로 인코딩한다. 그 중 가장 대중적인 UTF-8은 통상 1바이트부터 4바이트 까지 인코딩 결과를 만들어 낸다.
이 두 단어는 자주 접하는데 많은 사람들이 헷갈려 한다. 정리하자면 유니코드는 문자 집합이고 UTF-8은 인코딩 방식중 하나이다.

  1. 디코딩
    반대로 0과 1로 이뤄진 문자를 사람이 이해할 수 있는 문자로 변환하는 과정을 디코딩 이라 한다.

0개의 댓글