1️⃣ 프로그래밍의 본질

프로그래밍이란?

  • 데이터를 저장하고, 가공하고, 출력하는 작업.
  • 데이터를 효율적으로 다루는 것이 프로그래밍의 핵심.
  • 데이터는 결국 메모리에 저장되며, 컴퓨터는 이 데이터를 CPU로 불러와 가공한 뒤 다시 저장하거나 출력.

2️⃣ 컴퓨터의 데이터 저장 방식 - 비트와 바이트

비트(Bit)

  • 컴퓨터가 다루는 가장 작은 단위.
  • 전기 신호 유무로 표현 (0=OFF, 1=ON)
  • 1비트당 0 또는 1 하나만 표현 가능.

바이트(Byte)

  • 8비트 = 1바이트 (Byte)
  • 대부분의 데이터는 최소 1바이트 단위로 저장.

비트와 바이트 단위 정리

단위크기
1 bit0 또는 1
1 byte8 bits
1 word2 bytes (16 bits)
1 dword (double word)4 bytes (32 bits)
1 qword (quad word)8 bytes (64 bits)

3️⃣ 정수의 저장 방식 (양수와 음수)

양수 표현

  • 그냥 이진수(Binary)로 저장.
  • 1바이트로 10을 저장하는 경우:
    • 00001010 (2진수)
    • 2+8=10 (각 자리값을 더한 결과)

음수 표현 - 2의 보수법

  • 컴퓨터는 2의 보수를 사용해 음수를 표현.
  • 최상위 비트(MSB, Most Significant Bit)를 부호 비트로 사용.
    • 0: 양수
    • 1: 음수

2의 보수 구하는 방법

단계설명
1양수의 이진수 구하기
2모든 비트 반전 (1의 보수 만들기)
3그 결과에 1 더하기 (2의 보수 완성)

예시: -24 표현

  1. 24 → 0001 1000
  2. 1의 보수 → 1110 0111
  3. 2의 보수 (1 더하기) → 1110 1000 = -24


최상위 비트를 그냥 부호로 쓰지 않는 이유

  • 단순히 MSB로 부호만 나타내면 +0과 -0이 생김 → 비효율적
  • 2의 보수는 음수 표현 문제를 해결하는 방법.

62 예시

  • 8비트로 -62 표현 과정
    • 최상위 비트 = -128
    • 나머지 켜진 비트 = 64 + 2
    • 합계 = -128 + 64 + 2 = -62

4️⃣ 진수 (Number System)

10진수 (Decimal)

  • 일상적으로 쓰는 숫자 체계.
  • 0~9까지 10개 숫자 사용.
  • 숫자 뒤에 진법 표시 필요 없음 (기본값이니까).

2진수 (Binary)

  • 컴퓨터 내부 데이터 표현 방법.
  • 0과 1만 사용.
  • 앞에 0b 붙여서 표기.
    • 0b1010 = 10진수 10

16진수 (Hexadecimal)

  • 2진수 표현이 길어지는 문제를 해결.
  • 한 자리에서 0~15까지 표현 가능 (0~9, A~F)
  • 앞에 0x 붙여서 표기.
    • 0x1A = 10진수 26

진수 변환 규칙

  • 2진수 → 16진수 변환
    • 2진수 4자리 = 16진수 1자리
    • 0b10010101 → 1001 0101 → 0x95

6️⃣ 컴퓨터의 데이터 처리 과정

컴퓨터 구조 3대 구성요소

구성요소역할
CPU연산 및 제어
메모리(RAM)데이터 저장 및 처리 중간 저장소
하드디스크영구 저장소

프로그램 실행 과정

  1. 하드디스크에서 실행파일 로드.
  2. 메모리로 복사.
  3. CPU가 명령어 실행.
  4. 필요시 결과 데이터 다시 저장.

7️⃣ 양수와 음수 저장 정리 표

구분양수 저장음수 저장
기본 표현법이진수 그대로2의 보수
최상위 비트01
예시 (8비트)10 = 00001010-10 = 11110110

8️⃣ 보수 (Complement) 개념 정리

보수 종류설명예시 (1010의 보수)
1의 보수각 비트 반전0101
2의 보수1의 보수 + 10110

9️⃣ 2진수/16진수/10진수 변환 연습 예시

2진수16진수10진수
0b11010xD13
0b111100000xF0240
0b101010100xAA170

profile
李家네_공부방

0개의 댓글