CS 기초 - 2진법 & 컴파일

수현·2023년 10월 1일
0

CS

목록 보기
1/11
post-thumbnail

Intro. 컴퓨터 과학이란

컴퓨터 과학은 문제를 해결하는 과정

문제 해결은 input이 있을 때 output을 도출해내는 과정!


컴퓨터의 표현 방법

  • 컴퓨터는 0과 1로만 데이터를 표현하는 2진법을 사용

  • 이는 전기의 on/off로 작동하는 컴퓨터에 적합한 방법(on/off, true/false, 1/0)

2진법

  • 2진법은 각 자리가 0과 1로 이루어져 있으며 각 자리수는 2의 거듭제곱을 의미함

  • 1의 자리는 2의 0제곱부터 시작

  • 예시

    • 2진법 1111 → 2**3 + 2**2 + 2**1 + 2**0 → 10진법으로 15

    • 10진법 12 → 8 + 4 → 2**3 + 2**2 → 2진법 1100

비트(bit)

  • binary digit의 줄임말

  • 2진법에서 하나의 자릿수를 표현하는 단위이며 정보를 저장하고 연산을 수행하기 위한 측정 단위

  • 여러 비트들로 디지털 데이터를 표현하여 많은 양의 정보를 저장 가능하며 데이터 수정을 위한 수학적 연산도 가능

바이트(byte)

  • 많은 양의 데이터를 나타내기 위해 사용하는 비트열로 바이트는 8개의 비트로 만들어짐

  • 8개의 비트 = 2**8 = 256개의 표현 가능

다양한 데이터 표현

단위정의저장공간 크기
bit0 or 1true/false
byte8 bit영어 알파벳 한 개
KB1000 byte몇 개의 문단
MB1000 KB1분 길이의 MP3 노래
GB1000 MB30분 길이의 HD영화
TB1000 GB'심슨네 가족' 16시즌

정보의 표현

컴퓨터는 정보를 표현할 때 숫자로 표현하며 이를 위한 약속(표준)이 있다.

아스키코드, ASCII(American Standard Code for Information Interchange)

: 미국정보교환표준부호

  • 총 128개의 부호로 정의

  • 알파벳, 특수문자 등을 숫자로 정의

유니코드, Unicode

  • ASCII코드로는 문자들을 표현하기 충분하지 않아 더 많은 비트를 사용하여 다양한 문자를 표현 가능하도록 함

  • 🥰🤣🥳와 같은 이모티콘도 표현 가능

그림, 영상, 음악의 표현

  • 이 역시 숫자로 표현

  • 그림은 작은 점(픽셀)로 이루어져 있으며 이 픽셀의 색은 RGB로 표현됨

  • RGB(Red, Green, Blue) : 세가지 색의 비율을 나타내며 이들의 조합으로 색을 표현함

  • 그림을 연속적으로 보여주면 영상이 되며 음악 또한 음표를 숫자로 표현 가능함


컴파일의 과정

전처리 - 컴파일 - 어셈블 - 링크

전처리, Precompile

  • C언어의 #include와 같이 실질적인 컴파일이 이루어지기 전 전처리 과정을 지시

  • #include는 전처리기에게 stdio.h와 같은 내용을 담는 새로운 파일을 생성하여 컴파일할 파일에 포함

컴파일, Compile

  • 컴파일러를 통해 C코드를 저수준 프로그래밍 언어인 어셈블리어로 컴파일 시행

  • 기계어 : 컴퓨터의 CPU가 읽어 실행할 수 있는 0과 1로 이루어진 명령어의 조합

  • 어셈블리 : 이러한 기계어를 사람이 조금 더 알아보기 쉽고 컴퓨터를 제어하기 쉽게 만든 언어

어셈블, Assemble

  • 어셈블러를 통해 어셈블리 코드를 기계어인 오브젝트 코드로 변환
  • 프로그램이 여러 개의 파일로 이루어진 경우 하나의 오브젝트 파일로 합치는 과정

  • 링커를 통해 하나의 파일로 합쳐짐

profile
실패와 성장을 기록합니다 🎞️

0개의 댓글