소스프로그램
소스프로그램은 아래와 같이 표현된다.
#include <stdio.h>
int main()
{
prinf("Hello, world\\n");
return 0;
}
시스템 상에서 텍스트 파일의 형태로 저장된다.
비트: 정보의 표현
컴퓨터 시스템 상에서 모든 정보는 파일의 형태로 저장된다. 파일 내의 데이터는 0 또는 1로 표현된다. 0 또는 1로 표현되는 기본 단위를 비트라고 한다. 8개의 비트가 모이면 바이트다. 하나의 바이트는 아스키코드에 따라 텍스트 문자 하나에 대응될 수 있다. 따라서 모든 파일은 비트로 표현된다.
컨텍스트: 정보의 구분
파일의 종류와 무관하게 정보는 비트로 기록된다. 하지만 동일한 비트라도 해석을 적용하는 기준에 따라 의미가 달라진다. 이때 해석을 적용하는 기준을 컨텍스트라고 한다.
gamsahabnida
gamsahabnida를 예로 들어보자. 한국인은 어려서부터 영어 교육을 받았기 때문에 이를 읽을 수 있다. 영어권 사람도 읽을 수는 있다. 하지만 영어권 사람은 영어로 이를 해석할 수는 없다. 영어 단어에 이런 단어가 존재하지 않기 때문이다. 하지만 한국인은 이를 읽으면 ‘감사합니다’라고 인식한다. 한국어라는 컨텍스트를 갖고 있기 때문이다.
따라서 동일한 형태의 데이터라도 해석을 적용하는 컨텍스트에 따라 의미가 생길 수도 있고 경우에 따라서는 잘못 된 컨텍스트를 적용해서 의미가 왜곡될 수도 있다.
정리
- 정보는 비트와 컨텍스트로 표현된다
- 모든 파일은 바이너리다
- 비트는 데이터의 최소단위로 0 또는 1로 표현된다
- 바이트는 8개의 비트로 아스키코드에 따라 텍스트로 대응될 수 있다
- 컨텍스트는 데이터를 해석하는 관점이다