본문 바로가기
~ 2024.03/컴퓨터 구조 + 운영체제

[컴퓨터 구조] 데이터

by Monett 2024. 1. 3.
반응형

혼자 공부하는 컴퓨터 구조 + 운영체제(강민철 저, 한빛미디어)를 공부하며 내용을 정리한 글 입니다.
현재 블럭의 내용은 작성자의 의견 혹은 생각이며, 틀린 내용이 있을 수 있습니다. 지적 감사드립니다.

 

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

비트와 바이트

비트 : 0과 1을 나타내는 가장 작은 정보 단위. n비트는 2n개의 정보 표현 가능

바이트 : 8개의 비트를 묶은 단위.

 

1000 바이트는 1KB, 1000KB는 1MB, 1000MB는 1GB, 1000GB는 1TB

1024가 아니다. 1024는 1KiB 등으로 표현한다.

KiB는 키비바이트(Kibibyte), Kilo binary byte의 준말로 킬로 이진 바이트라는 뜻을 가진다.

 

워드라는 단위도 있는데, 이는 CPU가 한번에 처리 가능한 크기이다. 64비트에서는 1워드가 64비트를 갖는다. 하프 워드(워드의 반), 풀 워드, 더블 워드(워드의 2배)로도 사용 가능하다.

이진법

0과 1로 숫자를 표현하는 방법이다. 코드에서 표기 시 0b1000 등으로 표기한다.

이진수의 음수 표현

2의 보수를 구해 이 값을 음수로 간주한다. 

2의 보수의 사전적 의미는 어떤 수를 그보다 큰 2n에서 뺀 값을 의미한다. 

ex) 0b11의 2의 보수는 0b100에서 0b11을 뺀 0b01이다.

 

쉽게 하려면 0과 1을 뒤집고 1을 더하는 방법도 있다.

ex) 0b11 -> 0b00 -> 0b01

 

이진수만 봐서는 음수인지 양수인지 구분하기 어려우며, 컴퓨터에서는 플래그를 사용하여 구분한다.

십육진법

0~9와 A~F로 숫자를 표현한다.

코드에서는 0x15등으로 표기한다.

 

십육진법이 유용한 이유는 이진수와 십육진수의 변환이 편리하기 때문이다.

이진수와 십육진수의 변환

십육진수의 한 글자씩 변환하면 된다. 

이진수에서 십육진수로 변환하는 방법도 동일하다.


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

문자 집합 : 컴퓨터가 인식하고 표현할 수 있는 문자의 모음

문자 인코딩 : 문자를 0과 1로 변환

문자 디코딩 : 0과 1을 문자로 변환

아스키 코드

초창기 문자 집합 중 하나로, 영문과 아라비아 숫자, 약간의 특수문자를 포함한다.

문자는 각각 7비트로 표현되어 총 128개의 문자를 표현할 수 있다.

 

※ 글자에 부여된 고유한 값을 코드포인트라고 부른다. 아스키코드에서 A의 코드포인트는 65, a는 97이다.

EUC-KR

완성형 인코딩 한글 문자 집합

초성, 중성, 종성이 결합된 문자에 코드를 부여하는 것이 완성형 인코딩이며, 조합형 인코딩은 각각 부여 후 조합한다.

EUC-KR에서 한글은 한 글자에 2바이트(16비트)이다.

유니코드와 UTF-8

유니코드는 대부분 나라의 문자와 특수문자를 포함하는 통일된 문자 집합이다.

UTF-8, UTF-16, UTF-32은 인코딩 방식이며, 값의 범위에 따라 결정한다.

UTF-8은 1~4바이트의 결과를 만든다.

반응형