혼공 학습단/혼자 공부하는 컴퓨터구조+운영체제

혼자 공부하는 컴퓨터 구조 + 운영체제 Chapter 2

uomnf97 2024. 1. 7. 22:46

안녕하세요! 제이덥입니다~ 저는 이번주부터 학부 때 공부했던 CS 기초 내용을 Wrap-Up 하기 위해 혼공학습단 11기 활동을 진행하고 있는데요. 11기 활동을 진행하면서 학습 했던 내용을 여러분께 공유해드리기위해 해당 글을 포스팅하게 되었습니다. 해당 도서는 제가 직접 구매하여 글을 작성한 것과 혼공단 11기 활동의 일환으로 학습 내용에 대한 공유 글을 작성하게되었음을 알려드리며, 도서에 대한 자세한 내용과 활동에 대한 내용을 알고 싶은 분들은 아래 Reference에서 확인해주세요~

Chapter 2. 데이터

1️⃣ 0과 1로 데이터를 표현하는 방법

  • 정보 단위 :
    • 컴퓨터는 0과 1로만 데이터를 표현하며, 가장 작은 단위를 비트(bit)라고 부름
    • n개의 비트는 2^n의 데이터를 표현 가능
    • 정보의 여러 단위 :
      • 바이트(Byte) : 1 * 8 byte
      • 바이트, 킬로바이트, 메가바이트, 기가바이트, 테라바이트 ( 1000 배씩 차이)1바이트(1byte) 8비트(bit)
        1킬로바이트(1kB) 1000바이트(1byte)
        1메가바이트(1MB) 1000킬로바이트(1kB)
        1기가바이트(1GB) 1000메가바이트(1MB)
        1테라바이트(1TB) 1000기가바이트(1GB)
      • 1kB가 1024 byte로 알고 있는 경우가 많은데 이는 잘못된 관습임. 1024개를 표현한 단위는 KiB, MiB, GiB, TiB 등으로 따로 존재
      • 워드(word) : CPU가 한번에 처리할 수 있는 단위
      • 하프워드(half word) : 워드의 절반 크기
      • 풀 워드(full word) : 1배 크기 / 더블 워드(double word) : 2배 크기
  • 이진법과 십육진법 :
    • 이진법 : 0과 1로만 모든 숫자를 표현하는 방법. 표기는 숫자뒤에 아래첨자로 (2)를 붙이거나 앞에 0b를 붙임
      • 음수 표현 : 2의 보수를 구해서 음수를 나타내며, 컴퓨터 언어로 표현할 때 플래그(flag)를 이용해서 양수와 구분
      • 2의 보수를 구하는 방법 : 모든 숫자의 0과 1을 뒤집은 다음 1을 더함
      • 1의 보수를 구하는 방법 : 모든 숫자의 0과 1을 뒤집음
    • 십육진법 : 이진법은 0과 1로 표현하기 너무 길기 때문에 십육진법을 표현하여 표현의 길이를 줄임. 10, 11, 12, 13, 14, 15를 각각 대문자 알파벳 A, B, C, D, E, F 로 표현함. 표기는 아래첨자로 (16)을 붙이거나 숫자 앞에 0x를 표기함.
      • 2진법 ↔ 16진법 변환이 용이해 자주 사용

2️⃣ 0과 1로 문자를 표현하는 방법

  • 문자 집합, 인코딩, 디코딩
    • 문자 집합 : 컴퓨터가 인식하고 표현할 수 있는 문자의 모음. 문자 집합으로 이루어진 문자 외의 경우 컴퓨터가
    • 문자 인코딩 : 문자를 0과 1로 이루어진 문자 코드로 변환하는 과정
    • 문자 디코딩 : 0과 1로 이루어진 문자 코드를 사람이 이해할 수 있는 문자로 변환하는 과정
  • 아스키 코드
    • 초창기 문자 집합 중 하나로, 영어 알파벳과 아라비아 숫자, 일부 특수 문자를 포함함
    • 1 byte의 크기를 가지며 128개의 문자를 표현할 수 있는 7개의 비트와, 오류를 체크하는 1개의 패리티 비트(Parity bit)로 이루어짐
  • EUC-KR
    • 한글은 완성된 글자 하나에 고유한 코드를 부여하는 완성형 인코딩, 초성 ,중성, 종성에 각각 다른 비트를 부여하는 조합형 인코딩을 통해 표현할 수 있음
    • EUC-KR는 KS X 1001, KS X1003이라는 문자 집합을 기반으로 하는 대표적인 완성형 인코딩 빙식으로, 초성/중성/종성이 결합된 완성된 글자로 2byte 내에서 한글을 인코딩하여 표현.
    • 2350개의 단어를 표현할 수 있지만, 일부 정의되지 않은 단어를 표현하기에는 어려움을 가지고 있음.
    • 확장된 방법이 마이크로 소프트의 CP949지만 여전히 한계를 가지고 있음
  • 유니코드
    • 위 방식은 언어별로 다른 인코딩 방식을 알아야 다국어 프로그램을 만들 수 있다는 단점이 있음.
    • 유니코드(unicode)는 대부분의 나라를 포함하며, 문자/특수 문자/화살표/이모티콘 까지도 포함함.
    • 현대 문자를 표현할 때 가장 많이 사용되는 표준 문자 집합.
    • 인코딩 방식에 따라 UTF-8, UTF-16, UTF-32 등으로 구분

Reference :

혼자 공부하는 컴퓨터구조 + 운영체제

혼공학습단 11기 활동