본문 바로가기
관리자

Computer Science/Introduction

2. 컴퓨터의 정보 표현

728x90
반응형

1. 비트와 정보량

컴퓨터는 0과 1로 이루어진 Bit 단위로 정보를 표현한다.

즉, 현실에서의 정보량을 표현하는 최소 기본 단위가 Bit인 것이다.

-byte는 8bit로 알파벳 한 글자를 나타낼 수 있는 크기이다.

KB(kilobtye) = 1,024 bytes, MB(Mega byte) = 1,024 KB, ...   (1024 = 2^10)

-bit는 binary digit의 줄임말이다.

 

정보량은 사건의 수(number)뿐만 아니라 발생 확률(probability)에도 영향을 받기 때문에 Software Engineer는 어떻게 정보량을 줄이면서 효율적인 의사결정을 할 수 있을지, 다시 말해 시스템 구조를 어떻게 짜야할지를 고민해야 하는 것이다.

예를 들어, 1~100 중 정해진 한 개의 숫자를 맞춰야 한다면 스무고개와 같이 해당 숫자가 있는 영역을 절반씩 판단해나가면서 답을 구할 수 있다. 처음에는 1~50 중 정답이 있는지, 아니면 51~100 중 정답이 있는지 판단하고, 이 결과에서 다시 절반씩 나눠가며 답을 구하면 되는 것이다. 이렇게하면 7번만 판단하면 답을 찾을 수 있게 된다.

 

2. Text의 표현 : ASCII Code

ASCII(아스키) Code는 텍스트 데이터를 저장하기 위해 사용하는 표준코드체계이다. 

(American Standard Code for Information Interchange)

https://cysecguide.blogspot.com/2016/12/ascii-code-table.html

대문자와 소문자는 2^5에 해당하는 자릿수만 다르게 표현한다. 즉, 대문자 'A'는 ASCII code 65 = 1000001 이고,

소문자 'a'는 ASCII code 97 = 1100001 이다.

 

ASCII Code는 위의 Table과 같이 128개의 문자만 표현하며, 확장 ASCII의 경우 8번째 비트를 추가해서 256개의 문자를 나타낼 수 있다. 그럼에도 불구하고 수학 기호, 영어 외 다른 국가의 언어나 특별한 text들을 모두 표현하기에는 256개가 모자라다. 따라서 유니코드(Unicode)라는 것이 생기게 되었다. 유니코드는 100만개 이상의 문자들을 나타낼 수 잇는 문자 인코딩 표준이며, 첫 128개의 문자는 ASCII의 첫 128개 문자와 동일하다.

 

3. 16 진수(Hexadecimal)

Computer Science 에서는 2진수 대신 16진수로 많이 표현한다.

16진수로 표현하면 표현이 간결해지고, 2진수가 1bit를 표현하는 것을 16진수가 1byte로 표현할 수 있도록 변환이 되기 때문이다.

16진수는 0, 1, 2, 3, 4, 5, 6, 7, 8 , 9, a, b, c, d, e, f 로 숫자를 표현한다.

 

예를 들어 255의 경우 2진수로는 11111111 이지만, 4자리씩 떼어서 생각해보면 1111 1111 으로, 16진수로는 ff라고 표현할 수 있을 것이다. 다만, 16진수임을 표현하기 위해 앞에 '0x'를 붙여서 표현한다.(0xff)

 

728x90
반응형