새소식

Computer Science/Computer Architecture

[혼자 공부하는 컴퓨터 구조] Chapter 02. 데이터

  • -

 

본 게시물은 ‘강민철, ⌜혼자 공부하는 컴퓨터구조 + 운영체제⌟, 한빛미디어, 2022’ 을 인용하였습니다.

 

1. 0과 1로 숫자를 표현하는 방법

정보 단위

  • 비트(Bit) : 0과 1을 나타내는 가장 작은 정보 단위
    • 2^n 가지 정보 표현
  • 바이트(Byte) : 8개 비트를 묶은 단위
    • 1Byte = 8Bit
    • 1Byte = 2^8(256)개 정보 표현
  • 킬로바이트(kB; Kilobyte) : 1바이트 1,000개 묶은 단위
  • 메가바이트(MB; Megabyte) : 1킬로바이트 1,000개묶은 단위
  • 기가바이트(GB; Gigabyte) : 1메가바이트 1,000개 묶은 단위
  • 테라바이트(TB; Terabyte) : 1기가바이트 1,000개 묶은 단위
  • cf. 워드(word) : CPU가 한 번에 처리할 수 있는 데이터의 크기(대부분 32/64비트)

 

이진법(binary)

  • 이진수의 음수 표현 : 2의 보수(two’s complement)
    • 모든 0과 1을 뒤집고, 1을 더한 값

  • 실제 이진수로는 음수인지 양수인지 구분하기 어려워, 컴퓨터 내부에서는 ‘플래그(flag)’를 사용함

 

십육진법(hexadecimal)

  • 이진법으로 0과 1만으로 모든 숫자를 표현하는 것은 숫자의 길이가 너무 길어지는 단점이 있음

 

  • 앞에 0x를 붙여 구분

 

십육진수 ↔ 이진수 변환

  • 십육진수 → 이진수
    • 십육진수를 이루는 숫자 하나를 이진수로 표현하려면 4비트 필요(2^4=16)
    • 십육진수 한 글자를 4비트 이진수로 간주하기

  • 이진수 → 십육진수
    • 이진수 숫자 4개씩 끊고, 끊어 준 4개 숫자를 하나의 십육진수로 변환 후 이어붙임

 

 

 

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

문자 집합과 인코딩

  • 문자 집합(character set) : 컴퓨터가 인식하고 표현할 수 있는 문자 모음
    • 문자 집합에 속한다고 해서 컴퓨터가 그대로 이해할 수 있는 것은 아님
  • 문자 인코딩(character encoding) : 문자 ->  0과 1로 변환하는 과정
  • 문자 디코딩(character decoding) : 0과 1로 이루어진 문자 -> 사람이 이해할 수 있는 문자로 변환하는 과정

 

아스키 코드

ASCII : American Standard Code for Information Interchange

  • 영어 알파벳, 숫자, 일부 특수문자 포함
  • 아스키 문자는 각 7비트로 표현됨
    • 2^7 = 128개 문자 표현O
  • 확장 아스키(Extended ASCII)도 등장하였으나 모든 문자 표현하기에 역부족

 

유니코드와 UTF-8

  • 유니코드 : 모든 나라 언어의 문자 집합, 인코딩 방식 통일
  • UTF-8 : 1~4바이트 까지의 인코딩 결과 만들어 냄

 

 

 

 

Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.