컴퓨터의 정보 단위 - 십진 접두어 | |||||||
[math(\small 2^{-3})]
비트Bit (b) |
[math(\small 1)]
바이트Byte (B) |
[math(\small 10^{3})]
킬로바이트Kilobyte (KB) |
[math(\small 10^{6})]
메가바이트Megabyte (MB) |
||||
[math(\small 10^{9})]
기가바이트Gigabyte (GB) |
[math(\small 10^{12})]
테라바이트Terabyte (TB) |
[math(\small 10^{15})]
페타바이트Petabyte (PB) |
[math(\small 10^{18})]
엑사바이트Exabyte (EB) |
||||
[math(\small 10^{21})]
제타바이트Zettabyte (ZB) |
[math(\small 10^{24})]
요타바이트Yottabyte (YB) |
[math(\small 10^{27})]
론나바이트Ronnabyte (RB) |
[math(\small 10^{30})]
퀘타바이트Quettabyte (QB) |
||||
{{{#!wiki style="margin:0 -10px -5px; min-height:calc(1.5em + 5px)" {{{#!folding [이진 접두어 펼치기 · 접기] {{{#!wiki style="margin:-5px -1px -11px" |
이진 접두어 |
[math(\small 2^{10})]
키비바이트Kibibyte (KiB) |
[math(\small 2^{20})]
메비바이트Mebibyte (MiB) |
||||
[math(\small 2^{30})]
기비바이트Gibibyte (GiB) |
[math(\small 2^{40})]
테비바이트Tebibyte (TiB) |
[math(\small 2^{50})]
페비바이트Pebibyte (PiB) |
[math(\small 2^{60})]
엑스비바이트Exbibyte (EiB) |
||||
[math(\small 2^{70})]
제비바이트Zebibyte (ZiB) |
[math(\small 2^{80})]
요비바이트Yobibyte (YiB) |
[math(\small 2^{90})] Robibyte (RiB) |
[math(\small 2^{100})] Quebibyte (QiB) |
||||
|
}}}}}}}}} | ||||||
우상단 숫자는 바이트를 기준으로 한 상대값이다. |
[math(\def\arraystretch{0.01}
\begin{array}{l}\overbrace{~}^\text{1 Bit}\\ \def\arraystretch{1.2}\underbrace{\begin{array}{|c|c|c|c|c|c|c|c|} \hline1&0&1&1&0&0&0&1\\\hline \end{array}}_\text{1 Byte}\end{array})] |
비트와 바이트의 관계 |
1. 개요
Byte, B컴퓨터의 저장 단위로, 컴퓨터가 조작하는 정보의 최소 처리 단위다. 컴퓨터에서 정보의 최소 단위는 이진법의 한 자릿수로 표현되는 비트(Bit, b)지만, 비트 하나로는 0 또는 1이라는 2가지 표현밖에 할 수 없으므로, 일정한 단위로 묶어서 바이트(Byte)라고 칭하고 정보를 표현하는 기본 단위로 삼고 있다.
2. 상세
1개당 2개의 정보를 표시 가능한 비트를 8개 묶은 1옥텟으로 2의 8제곱, 즉 256종류의 정보를 나타낼 수 있어 숫자와 영문자를[1] 모두 표현할 수 있고 남는 공간에 특수 문자까지 할당할 수 있다. 7비트보다 다루기 편하기 때문에 1옥텟=1바이트인 CPU가 나온 이래로 1옥텟이 사실상 표준 1바이트로 컴퓨터 세상을 평정했다.[2]참고로 니블(nibble)은 4비트로 1바이트의 절반이다.
3. 사용
한글은 여러 자모를 조합해 한 글자를 형성하기 때문에 당연히 256자로는 어림도 없다. 공인된 글자 수만도 2500자가 넘으므로 1바이트(256자)로는 이를 모두 표현할 수 없다. 때문에 한글은 한 글자가 최소 2바이트(256 x 256 = 65536자)다. 또한 한글 완성형 중에는 한글 한 글자가 3바이트인 경우도 있다.[3]1바이트는 1캐릭터(Character)라고도 부른다. 1바이트를 가지고 한 개의 문자. 즉 캐릭터를 표현할 수 있기 때문이다(사실 이렇게 되도록 1바이트를 정의하려고 했다). 이는 영어의 경우이고 다른 문자는 더 많은 바이트를 쓰는 경우가 많다.
따라서 일부 문자나 여러 부호, 특히 멀티미디어 표현에 필요한 각종 정보, 통신상의 주소 등은 여러 개의 바이트를 묶어서 표현한다. 특히 갈수록 컴퓨터의 데이터 처리량이 많아짐에 따라 웬만한 CPU는 32비트, 많게는 64비트의 데이터를 한 번에 처리한다. 이렇게 특정 CPU가 데이터를 처리하는 단위는 워드(Word)라고 하며, 컴퓨터 아키텍처를 설계할 때는 중요하게 쓰이지만 애초에 CPU마다 값이 제각각이기 때문에[4] 표준 단위는 아니다.
4. SI 접두어
대용량 기억 장치의 용량 또는 정보량을 나타내는 상위 단위로는 우리가 흔히 사용하는 킬로바이트, 메가바이트, 기가바이트, 테라바이트, 페타바이트 등이 있고, 새롭게 나온 키비바이트, 메비바이트, 기비바이트, 테비바이트, 페비바이트 등이 있다.접두어(SI) | 이름 | 계산법 | 접두어(IEC) | 이름 | 계산법 |
1바이트(byte) | 8비트=1B | 1024바이트=1KiB | |||
킬로(103) | 1킬로바이트(kilobyte)/kB | 1000바이트=1kB | 키비(210) | 1키비바이트(kibibyte)/KiB | 1024KiB=1MiB |
메가(106) | 1메가바이트(megabyte)/MB | 1000KB=1MB | 메비(220) | 1메비바이트(mebibyte)/MiB | 1024MiB=1GiB |
기가(109) | 1기가바이트(gigabyte)/GB | 1000MB=1GB | 기비(230) | 1기비바이트(gibibyte)/GiB | 1024GiB=1TiB |
테라(1012) | 1테라바이트(terabyte)/TB | 1000GB=1TB | 테비(240) | 1테비바이트(tebibyte)/TiB | 1024TiB=1PiB |
페타(1015) | 1페타바이트(petabyte)/PB | 1000TB=1PB | 페비(250) | 1페비바이트(pebibyte)/PiB | 1024PiB=1EiB |
엑사(1018) | 1엑사바이트(exabyte)/EB | 1000PB=1EB | 엑스비(260) | 1엑스비바이트(exbibyte)/EiB | 1024EiB=1ZiB |
제타(1021) | 1제타바이트(zettabyte)/ZB | 1000EB=1ZB | 제비(270) | 1제비바이트(zebibyte)/ZiB | 1024ZiB=1YiB |
요타(1024) | 1요타바이트(yottabyte)/YB | 1000ZB=1YB | 요비(280) | 1요비바이트(yobibyte)/YiB | — |
론나(1027) | 1론나바이트(ronnabyte)/RB | 1000YB=1RB | — | — | — |
퀘타(1030) | 1퀘타바이트(quettabyte)/QB | 1000RB=1QB | — | — | — |
이 정도 크기의 용량은 잘 와닿지 않는데, 대충 페타바이트는 유튜브가 한 달 동안(2012년 기준) 출처 저장하는 단위이고 그 위의 엑사바이트 단위가 유튜브 용량 정도라고 생각하면 그나마 와닿기 쉽다.
접두어의 의미와는 달리, 실제로는 10의 3제곱 단위인 1000단위로 가는 것이 아니라 그 근사수로 2의 10제곱인 1024로 끊어진다. 그러나 엄밀히 말해 기존 SI 접두어는 10의 거듭제곱에 쓰지 2의 거듭제곱에는 쓰지 않기 때문에 혼동되는 우려가 있었다. 이런 심오한 분야의 이야기가 일반인에게 현실로 다가오게 된 계기는 바로 하드 디스크. 하드 디스크의 용량이 커지게 되면서 " 제 하드 용량이 이상해요." 같은 질문을 하는 사람이 늘어났다. 이에 대한 대안으로는 1000 단위로 쓰던 기존 십진 접두어 대신 여기에 i를 붙인 이진 접두어(각각 키비-Ki, 메비-Mi, 기비-Gi, 테비-Ti, 페비-Pi 등으로 쓴다)를 1024 단위로 분리해서 쓰는 것이 있다. 현재 리눅스와 macOS에서는 단위를 병기하거나 바꾸었지만, 윈도우는 따로 병기하거나 바꾸지 않았다.
5. 기타
컴퓨터(비트) 용량 체계에서 K가 1024가 아닌 1000이었던 적은 없는데, 당연히 HDD SSD 등의 저장 장치 제조업계가 이 사실을 몰랐을 리가 없다. 업계에서는 이를 수치를 부풀리는 상술로 이용하고 있으며, 결과적으로 소비자를 우롱한다는 지적이 제기되고 키비 단위 등이 나오는 등, 불편함과 혼란을 야기했다.덧붙여 약자로 대문자 B를 써야 하며, 소문자 b가 아니다. 소문자 b는 비트를 뜻하기 때문이다.[5]
2018년 시점에서는 최대 수 테라바이트급 저장 장치( 하드 디스크)가 보급화되어 있다.
6. 관련 문서
[1]
모든
라틴 문자를 표기하기에는 모자라다. 그래서 나온 것이
유니코드.
[2]
4비트, 6비트를 1바이트로 삼는 컴퓨터도 있었으나, 현대(적어도 1984년 이후)의 대개의 컴퓨터 아키텍처에서 8비트를 1바이트로 삼는다. 1개의 문자(알파벳)를 저장하기에 8개의 비트가 적당했기 때문이다. 표준
C언어에서는 '8비트 이상'을 1바이트로 삼도록 규정하고 있다. 사실 7비트, 즉 128개만으로도 숫자와 영문자를 다 표현하고도 남는다. 실제로
아스키 코드는 7비트고, 이에 착안해서 실제로 7비트로 1바이트를 삼는 경우도 있다.
[3]
예를 들어 KO16KSC5601, KO16MSWIN949는 한글 한 글자가 2바이트지만 UTF8/AL32UTF8에서는 한 글자가 3바이트다.
[4]
8비트 컴퓨터의 1워드는 8비트, 1바이트이지만, 32비트 컴퓨터의 1워드는 32비트, 즉 4바이트다.
[5]
참고로 통신과 관련된 분야에서 사용하는 Mbps는 Mega bit per second다. 100 Mbps를 우리가 흔히 생각하는 단위로 바꾼다면 초당 12.5 MB가 된다.
웹 브라우저에 나오는 전송 속도는 후자를 사용한다.