본문 바로가기

컴퓨터 과학

(3)
컴파일러(Compiler)와 인터프리터(Interpreter) C언어는 빠르고, python은 느리다?컴퓨터와 소통하기컴퓨터는 0과 1로 되어있는 정보만 이해할 수 있지만, 우리가 0과 1로 코딩하는 것은 너무 힘들다. 그렇다면 python과 같은 사람이 이해하기 쉬운 프로그래밍 언어로 코드를 작성하고 나중에 컴퓨터가 이해할 수 있는 0과 1로 바꾸는 것은 어떨까? 컴파일러(Compiler)와 인터프리터(Interpreter)가 바로 고수준의 언어로 작성된 소스 코드를 기계어로 번역해주는 역할을 하며, 이 두 가지 방식에는 차이점이 있다.기계어란?CPU가 직접 해석하고 실행할 수 있는 명령어로 CPU 아키텍쳐마다 다를 수 있다.컴파일러컴파일러는 소스 코드를 한 번에 기계어로 변환한 뒤 실행한다. 대표적인 컴파일 언어로 C, C++ 등이 있으며, 컴파일 과정은 언어별..
ASCII 유니코드 UTF-8? utf-8 인코딩을 안해서 문자가 깨진 적이 한 두 번이 아니었다... 제대로 이해하고 넘어가자컴퓨터에서 문자는 어떻게 나타내지? 컴퓨터는 0과 1을 통해 숫자를 나타낸다. 그렇다면 컴퓨터는 "a", "가"와 같은 문자는 어떻게 나타낼까?0과 1을 이용해선 숫자밖에 나타낼 수 없기 때문에 각 문자를 대응되는 숫자로 정리해두면, 사용자가 특정 문자를 입력했을 때 이를 컴퓨터가 이해할 수 있는 숫자로 변환할 수 있게 된다. 이처럼 사용자가 입력한 문자나 기호들을 컴퓨터가 이용할 수 있는 신호로 만드는 것을 인코딩이라고 한다.  ASCII1963년 미국에서는 위에서 설명한 것처럼 문자를 해석하기 위한  정보 교환용 표준 부호 체계를 만들었고, 이를 ASCII(American Standard Code for I..
2진법 10진법 16진법 대학교 1학년 때 배우고 까먹어버린 진법... 복습하기 위해 글로 정리하기로 했다.비트와 바이트디지털 세계는 2진법으로 정보를 나타내는 게 제일 효율적이다. 그래서 컴퓨터는 0과 1 두 개의 숫자만 사용해 수를 나타내는 2진법을 사용한다. 0 또는 1의 값을 가지는 디지털 데이터의 가장 작고 기본적인 단위를 비트(bit)라고 한다. 컴퓨터는 모든 데이터를 비트로 나타낸다. 하지만 비트 한 개로는 많은 양의 데이터를 나타낼 수 없기 때문에 여러 비트를 사용해 정보를 나타낸다. 일반적으로 8개의 비트를 묶어서 데이터를 처리하며, 8개의 비트가 모인 형태를 1 바이트(byte)라고 한다. 1 바이트는 28=256만큼의 데이터를 표현할 수 있다. 2진법과 10진법2진법으로 나타낸 숫자는 어떤 숫자를 어떻게 해석..