본문 바로가기

Dev/CS 컴퓨터사이언스

[혼공컴운/OS] 컴퓨터 구조 | 숫자 데이터의 표현 | 문자 데이터의 표현 | 다양한 인코딩 방법

728x90
반응형

1장

1-1장. 컴퓨터 구조를 알아야 하는 이유

  • 컴퓨터 구조 이해 → 문제 해결 능력 향상
  • 단순한 코드 작성 → 성능, 용량, 비용 고려

 

1-2장. 컴퓨터 구조의 큰그림

  • 데이터와 명령어
  • 중앙처리장치(CPU) — ALU, Register, 제어장치
  • 주기억장치(Memory)
    • RAM vs ROM
    • RAM: 휘발성 메모리 (static RAM, Dynamic RAM 등등)
    • ROM: 비휘발성 메모리 (BIOS 설치되어있음)

 

  • 보조기억장치: HDD, SDD, CD, USB …
    • HDD vs SSD
    • HDD: 자기장의 원리로 정보를 저장 → 물리적 손상 시 정보 손상
    • SSD: 전자적으로 정보를 저장 → 빠르고 충격에 강함 (좀더비싸고, 방전시 정보 손실 위험)

 

  • 입출력장치: 모니터, 키보드, 마우스, 스피커, 마이크 등
  • 그외) BUS — 제어 버스, 데이터 버스, 주소 버스 → 이게 3종류로 나뉘는지는 처음 알았음 .. 까먹은건지 수업때 졸은건지 허허

 

 

2장

2-1장. 0과 1로 숫자를 표현하는 방법 → 2진수 / 16진수

  • 데이터의 크기 표현
    • 1bit = {0, 1} (1word = 32/64bit)
    • 1byte = 8bit
    • 1KB = 1000byte (여기서부터는 1000배임)
    • 1MB = 1000KB
    • 1GB = 1000MB
    • 1TB = 1000GB

 

  • 2진수와 16진수
    • 2진수: 0과 1로 표현 (코드상 0b 붙임)
      • 2진수의 음수: 보수로 표현
      • 2진수의 보수를 얻는 방법에는 ‘보수’말고 뭐가 있지?

 

  • 16진수: 0~9, A~F로 표현 (코드상 0x 붙임)
    • 색상표현의 #FFFFFF == (255, 255, 255)
    • 그 이유는 FF == 16 * 16 == 256 (0~255)

 

2-2장. 0과 1로 문자를 표현하는 방법

  • 문자집합: 컴퓨터가 인식할 수 있는 문자의 집합
  • 문자 인코딩: 0,1 → 문자
    • ASCII: 7bit로 문자 표현 (7bit 문자 + 1bit 오류검출 패리티) → 128개 표현 가능
    • EUC-KR: 한글을 하나의 글자당 2바이트로 인코딩하는 완성형 인코딩 방식
    • cp949: EUC-KR의 확장 버전으로 더욱 다양한 문자를 표현
    • 일반 한글 문서, 윈도우 → 완성형, 옛한글, 맥 → 조합형
    • Unicode: 세계에서 사용하는 인코딩 표준으로, 문자 고유의 값을 다양한 방식으로 인코딩 (예: UTF-8, UTF-16, UTF-32)

 

  • 문자 디코딩: 문자 → 0,1
  • 오 특수문자 %F0%9F%98%8A → 😊
728x90
반응형