[ComputerScience] 컴퓨터 데이터 단위
컴퓨터 데이터 단위
컴퓨터는 전기 신호의 꺼짐(0)과 켜짐(1)만을 인식할 수 있으므로, 데이터를 표현할 때 2진법(Binary)을 사용합니다.
이 0과 1의 조합이 모여 더 큰 데이터를 이루며, 이를 효율적으로 다루기 위해 여러 크기의 단위로 구분합니다.
컴퓨터에서 데이터를 다룰 때 사용하는 기본 단위는 비트, 바이트입니다.
이러한 데이터 단위는 용량을 측정하는 개념을 넘어, 프로그래밍과 시스템 동작에도 직접적인 영향을 줍니다.
예를 들어, 변수의 크기와 포인터의 메모리 크기, CPU의 연산 효율, 메모리 주소 범위는 모두 이 단위들에 의해 결정됩니다.
비트
비트(Bit)는 컴퓨터가 데이터를 처리할 때 사용하는 가장 작은 단위로, 0 또는 1 두 가지 상태만 저장할 수 있습니다.
1비트는 0 또는 1, 총 2개($2^1$)의 정보를 표현할 수 있습니다.
2비트는 4개($2^2$), 3비트는 8개($2^3$), N비트는 $2^N$개의 정보를 표현할 수 있습니다.
비트는 단독으로는 작은 정보를 나타내기 때문에, 일반적으로 여러 비트를 묶어 더 큰 단위로 사용합니다.
바이트
바이트(Byte)는 8개의 비트가 모여 이루어진 데이터 단위입니다.
문자, 정수, 파일 크기, 메모리 용량 등 컴퓨터에서 다루는 기본 단위로 사용됩니다.
1바이트로 표현할 수 있는 정보의 수는 $2^8 = 256$가지로, $0 ~ 255$ 입니다.
1950 ~ 60년대 초창기 컴퓨터에서는 바이트 크기가 고정되지 않았습니다.
어떤 시스템은 6비트, 7비트, 9비트를 1바이트로 사용하기도 했습니다.
초창기 컴퓨터와 다르게 8비트가 표준으로 자리잡은 이유는 다음과 같습니다.
- 아스키(ASCII)문자 표현과의 호환성
- 아스키는 7비트로 문자를 표현하지만, 패리티 비트나 확장 문자를 표현합니다.
- 2의 거듭제곱 구조로 하드웨어 설계가 단순하고 효율적
- 메모리와 레지스터 설계시 최적화가 좋았습니다.
- 당시 CPU와 메모리 기술의 한계 및 비용 효율성
- 8비트 레지스터 기반 CPU가 널리 사용되면서 표준으로 자리잡았습니다.
국제 표준(ISO, IEC)에서도 1바이트를 최소 8비트로 정의하면서, 현대 대부분의 컴퓨터에서는 1바이트를 8비트로 사용합니다.
SI 단위
SI 단위는 국제단위계에서 정의된 접두어를 사용하며, 10진수(1000 기준)로 용량을 계산합니다.
| 단위 | 약어 | 크기 |
|---|---|---|
| 킬로바이트(kilobyte) | KB | 1,000 byte |
| 메가바이트(megabyte) | MB | 1,000 KB |
| 기가바이트(gigabyte) | GB | 1,000 MB |
| 테라바이트(terabyte) | TB | 1,000 GB |
저장장치의 제조사(SSD, HDD)에서 주로 사용하며, 일반 사용자에게 직관적인 단위입니다.
IEC 단위
IEC 단위는 국제전기기술위원회에서 정의한 단위로, 2진수(1024 기준)로 용량을 계산합니다.
| 단위 | 약어 | 크기 |
|---|---|---|
| 키비바이트(kibibyte) | KiB | 1,024 byte |
| 메비바이트(mebibyte) | MiB | 1,024 KiB |
| 기비바이트(gibibyte) | GiB | 1,024 MiB |
| 테비바이트(tebibyte) | TiB | 1,024 GiB |
운영체제 및 메모리에서는 주로 2진수(1024 기준)에 기반한 계산이 사용되지만, GB와 같은 실제 표기에서 SI 단위를 사용하는 경우도 있어 실제 계산 방식과 표기 방식의 불일치로 인해 혼동이 발생할 수 있습니다.
댓글남기기