본문 바로가기
CS

[컴퓨터 구조]< 혼자 공부하는 컴퓨터구조 + 운영체제 > - 데이터

by 게게겍 2023. 3. 20.

혼자 공부하는 컴퓨터구조 + 운영체제 > 책과 강의를 통해 개인적으로 공부한 기록입니다.


02 데이터

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

정보 단위

비트(bit): 0과 1을 표현하는 가장 작은 정보 단위

8비트 = 1바이트

1000개 단위 가 킬로바이트(kB) 메가바이트(MB) …

그러나 요즘 와서 1000개와 1024개 구분하기 시작 → kiB,MiB, GiB …

워드(word): CPU가 한 번에 처리할 수 있느 정보의 크기 단위

→ 절반이면 하프 두배면 더블…

이진법

이진법(binary): 0과 1로 수를 표현하는 방법

2의 보수를 이용하여 음수 만들기: 어떤 수를 그보다 큰 $2^n$에서 뺀 값

쉽게하기 → 모든 0과 1을 뒤집고 1을 더한다.

플래그(flag)레지스터를 통하여 양수와 음수를 구분하기 때문에 컴퓨터는 안헷갈린다

십육진법

이진수는 수의 길이가 너무 길어지기 때문에, 10부터 15까지 A~F를 할당한 16진법을 사용한다.

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

문자 집합과 인코딩

문자집합(character set): 컴퓨터가 이해할 수 있는 문자의 모음

인코딩(encoding): 코드화하는 과정, 문자를 0과 1로 이루어진 문자 코드로 변환하는 과정

디코딩(decoding): 코드를 해석하는 과정, 0과 1로 표현된 문자 코드를 문자로 변환하는 과정

아스키 코드

아스키 코드(ASCII code): 0과 1로 이루어진 문자 코드를 7비트로 표현한 것, 1비트는 오류 검출을 위해 사용되는 패리티 비트(parity bit)로 사용한다.

한글을 포함한 다른 언어 문자, 다양한 특수 문자를 표현할 수 없다. 따라서 언어별 인코딩 방식이 등장하였다.

유니코드와 UTF-8

유니코드(Unicode): 통일된 문자 집합, 여러 인코딩 방식이 존재한다.

UTF-8인코딩: 유니코드를 8비트로 표현하는 인코딩 방식, 1바이트에서 4바이트까지 사용할 수 있다.