[CS50] 컴퓨팅 사고 - 2진법

TIL

컴퓨터 과학과 문제해결

컴퓨터 과학은 문제 해결에 대한 학문이다.
문제 해결은 입력(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
'TIL' 카테고리의 다른 글
  • [TS] 제네릭 타입 변수 응용
  • [TS] 제네릭
  • [TS] 클래스와 접근제어자 사용 연습
  • [TS] 인터페이스로 구현하는 클래스 (implements)
고견
고견
개발 자국 남기기
  • 고견
    개발자국
    고견
  • 전체
    오늘
    어제
    • 분류 전체보기 (157) N
      • Frontend (29)
        • Next.js (16)
        • JavaScript (7)
      • CS (19) N
        • 자료구조 (9)
        • 알고리즘 (5)
        • 운영체제 (4) N
        • 네트워크 (1) N
      • TIL (93)
      • Dev Log (16)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    generic
    ai 감성 일기장
    react
    제네릭
    앱 라우터
    알고리즘
    자료구조
    바닐라 자바스크립트
    App Router
    Trouble Shooting
    useState
    Next.js
    algorithm
    클래스
    타입 좁히기
    Pages Router
    javascript
    typescript
    문자열
    CS
    C
    Spa
    인터페이스
    함수 타입
    cs50
    트러블 슈팅
    페이지 라우터
    배열
    emotion diary
    memory
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.5
고견
[CS50] 컴퓨팅 사고 - 2진법
상단으로

티스토리툴바