컴퓨터 과학과 문제해결
컴퓨터 과학은 문제 해결에 대한 학문이다.
문제 해결은 입력(input)을 전달받아 출력(output)을 만들어내는 과정이며 그 중간에 있는 과정이 바로 컴퓨터 과학이다.
입력과 출력을 표현하기 위해서는 모두가 동의할 약속(표준)이 필요하다.
2진법
우리가 일상에서 사용하는 10진법은 0부터 9까지 총 10개의 기호로 숫자를 표현한다.
반면 컴퓨터는 오직 0과 1로만 데이터를 표현하며, 이를 2진법이라고 한다.
다음의 표는 10진법과 2진법의 자릿수별 값을 보여준다.

10진법은 10의 거듭제곱, 2진법은 2의 거듭제곱으로 각 자릿수의 값이 결정된다.
예를 들어, 2진법으로 011은 10진법의 3을 나타낸다. (0x4 + 1x2 + 1x1 = 3)

이렇게 컴퓨터는 숫자뿐만 아니라 글자, 사진, 영상, 소리 등 모든 데이터를 0과 1로 저장할 수 있다.
왜 2진법인가?
2진법은 전기를 통해 연산하는 컴퓨터에게 적합한 방법이다.
컴퓨터에는 수많은 스위치(트랜지스터)가 있고, on/off 상태를 통해 0과 1을 표현한다.

비트와 바이트
비트(bit)
비트는 컴퓨터가 데이터를 표현하는 가장 작은 단위이다.
"binary digit(이진 숫자)"의 줄임말이며, 0과 1 두 가지 값만 가질 수 있다.
하나의 비트로는 참/거짓과 같은 단순한 정보만 저장할 수 있다.
예를 들어, 노트북이 충전 중인지 아닌지 같은 정보를 표현할 수 있다.
바이트(byte)
비트 한 개는 많은 양의 데이터를 나타내기에 부족하다. 그래서 여러 비트를 조합한 비트열을 사용한다.
1바이트는 8비트로 구성되며, 각 비트는 0 또는 1의 값을 가질 수 있다.

따라서 하나의 바이트로 2^8 = 256가지의 서로 다른 값을 표현할 수 있다.
하나의 바이트로는 알파벳 하나를 표시할 수 있다.
데이터 단위
바이트가 모이면 더 큰 단위가 된다.

이보다 더 큰 페타바이트(PB), 엑사바이트(EB)와 같은 단위도 존재한다.
연습 문제
Q. 10진법 숫자 5를 2진법으로 변환하면?
101
- 2² = 4 (1개)
- 2¹ = 2 (0개)
- 2⁰ = 1 (1개)
- 따라서: 1×4 + 0×2 + 1×1 = 5
'TIL' 카테고리의 다른 글
| [TS] 제네릭 타입 변수 응용 (0) | 2025.11.04 |
|---|---|
| [TS] 제네릭 (0) | 2025.11.04 |
| [TS] 클래스와 접근제어자 사용 연습 (0) | 2025.11.03 |
| [TS] 인터페이스로 구현하는 클래스 (implements) (0) | 2025.11.03 |
| [TS] 접근 제어자 (0) | 2025.11.01 |
