본문 바로가기

CS

[CS] bit와 byte 그리고 KB...

1 bit

- 소문자, 단수로 사용

- Off: 0, On: 1 (2가지 경우의 수)

- 2진수

 

bit는 전기 스위치이다. off: 0, on: 1 을 의미한다.

0, 1로 나타내는 디지털 신호이자, 2진수라고 생각하자.

 

 

4 bit

- 전기 스위치 4개의 조합

- 2^4 = 16진수 (16가지의 경우의 수)

 

컴퓨터는 디지털 신호를 사용하므로 대부분의 데이터를 모두 16진수로 표현

 

bit를 16진수로 변환하기

bit를 16진수로 변환하면 '한 자리'로 변환된다.

10 ~ 16은 두 자리가 되므로 알파벳으로 변환된다.

4bit 16진수
0000 0
0001 1
0010 2
...  
1010 A
1011 B
...  
1110 E
1111 F

 

e.g) C++에서 '0xF4' 이런 데이터 본적이 있을 것이다. 이는 F = 1111, 4 = 0100 으로 변환할 수 있다. 4bit가 2개 있으니 8bit이다.

앞의 0x는 전치사이다.

 

16진수 사용 예시

1. 색상 표기 (RGB)

Red 색상을 표현하기 위해 8bit의 메모리가 필요하다.

이는 2^8 = 256 경우의 수로 나타낼 수 있다는 의미이다.

 

0 (안빨갛다) < ==== ... ==== > 255(빨갛다)

 

Hex 컬러 '#B71C1C' 이런 색상도 결국 RGB를 각각 8bit 씩 나타내는 것이다.
R: B7 => 1011 0111 => 183
G: 1C => 0001 1100 => 28
B: 1C => 0001 1100 => 28

"#B71C1C" 와 "rgb(183, 28, 28)" 과 같은 뜻이다.

 

8 bit = 1 byte

- 8bit 부터 용량의 개념이 도입된다.

- 8bit는 1byte라는 용량을 의미한다.

- 2^8 = 256 경우의 수

- 메모리 관리의 최소 단위

- 영문자 한 글자가 저장될 수 있는 메모리 크기

- 한글 한 글자를 저장하려면 2byte 필요

 

1byte 부터 2^10(1024) 기준으로 단위가 바뀐다.

 

단위 크기 특징
1byte 8bit 기억 공간의 최소단위
1 KB 1024byte JPEG 사진 파일 1개가 몇백 KB
1 MB 1024 KB MP3 파일 1개가 4~5 MB
1 GB 1024 MB 영화 파일 하나 2~6 GB
1 TB 1024 GB 하드 디스크 용량이 보통 1~10 TB
1 PB 1024 TB 2016년 기준 네이버 데이터 센터가 900 PB
1 EB 1024 PB 16 EB = 2^64 byte
1 ZB 1024 EB 2017년 기준 전 세계 데이터 센터 트래픽이 약 7.7 ZB이다.
1 YB 1024 ZB AI 시대가 오면서 곧 다루게 될 예정...

 

16 bit는 64 KB 이다 !

16bit는 2^16 = 65,536 경우의 수를 가질 수 있다.

이는 사실 0 ~ 65,535 까지의 번호의 공간에 1byte의 메모리를 할당할 수 있음을 의미한다.

 

즉, 16bit는 65,536byte 이다. 이를 KB로 변환하면...

65,536byte = 2^16byte = 2^10 * 2^6 byte = 2^6 KB = 64 KB 이다.

 

이해가 안되면 외우자!