케네스로그

1킬로바이트는 1024바이트? 1000바이트? 본문

Dev/TIL

1킬로바이트는 1024바이트? 1000바이트?

kenasdev 2021. 1. 25. 16:00
반응형

1 킬로바이트는 1024바이트? 1000바이트?

이전 글에서 정보의 표현 단위인 비트와 바이트에 대해 알아보았습니다. 우리는 일상 속에서 킬로라는 단위를 사용합니다. 이 단위는 10³(1000)을 의미하는 단어입니다. 1킬로미터(1km)는 1000미터, 1킬로그램은 1000그램을 말하죠. 즉, 1킬로는 1000이라는 단위 수를 말합니다.

 

그렇다면 정보의 단위로 돌아와서, 1킬로바이트는 1000바이트를 뜻하는걸까요? 2진법의 체계로 이루어진 체계에서 1000은 딱 떨어지는 단위가 아닙니다. 2¹⁰바이트(1024바이트)가 1000바이트와 매우 유사하지만 엄연히 24라는 잉여바이트가 존재합니다. 편의상 그렇게 부를 수 있겠지만, 1킬로바이트가 1000바이트 단위로 사용하게 되면, 나머지 잉여 24바이트가 모여서 오차가 발생하지 않을까? 하는 의문이 생겼습니다.

  1킬로바이트 = 1000바이트인 경우 1킬로바이트 = 1024바이트 인 경우 오차
1킬로바이트 1,000바이트 1,024바이트 24바이트
1메가바이트 1,000,000바이트 1,048,576바이트 48,576바이트
1기가바이트 1,000,000,000바이트 1,073,741,824바이트 73,741,824바이트
1테라바이트 1,000,000,000,000바이트 1,099,511,627,776바이트 99,511,627,776바이트

이처럼 단위가 커질수록 오차가 발생함을 알 수 있습니다.

10진법 체계와 2진법 체계는 서로 다른 단위 체계를 갖는다?

조사한 바에 따르면, 디지털 정보의 단위 바이트는 10진법 체계와 2진법 체계에서 각각 다르게 불리어진다는 걸 알게되었습니다.

 

10진법의 체계에서 1킬로바이트는 10³바이트로 사용됩니다. 즉, 1킬로바이트 = 1000바이트 입니다. 주의할 점은 1킬로바이트는 1 Kilobyte(1KB)가 아니라, 1kilobyte(1kB)입니다. 

 

2진법의 체계에서 1킬로바이트는 2¹⁰바이트로 사용됩니다. 즉, 1킬로바이트 = 1024바이트 입니다. 이 때, 킬로바이트는 1KB로 표기될 수 있습니다. 이러한 단위는 Random-access Memory(RAM)의 용량이나 CPU의 캐시 사이즈 등을 표현하기 위해 사용됩니다. 이러한 하드웨어의 메모리 용량은 컴퓨터가 사용하는 2진법 체계와 직접적으로 연관이 있기 때문에 정확한 사이즈를 명시해줘야만 합니다.

 

1킬로바이트가 체계에 따라 달리 되는 이러한 혼돈을 위해 IEC(International Electrotechnical Commision)에서 1998년부터 새로운 형태의 단위를 소개하였습니다. kilo(킬로)라는 접두사가 1000을 뜻하듯이, kibi, mebi, gibi 등과 같은 1024를 의미하는 새로운 접두사를 만들어 적용하였습니다. 아래의 표는 각 10진법 체계와 2진법 체계에서의 표현식을 정리한 것 입니다.

10진법 체계(Decimal) 2진법 체계(Binary)
kilobyte (kB) 1000 bytes Kibibyte (KiB) 1024 bytes
Megabyte (MB) 1000² bytes Mebibyte (MiB) 1024² bytes
Gigabyte (GB) 1000³ bytes Gibibyte (GiB) 1024³ bytes
Terabyte (TB) 1000⁴ bytes Tebibyte (TiB) 1024⁴ bytes
Petabyte (PB) 1000⁵ bytes Pebibyte (PiB) 1024⁵ bytes
Exabyte (EB) 1000⁶ bytes Exbibyte (EiB) 1024⁶ bytes
Zettabyte (ZB) 1000⁷ bytes Zebibyte (ZiB) 1024⁷ bytes
Yottabyte (YB) 1000⁸ bytes Yobibyte (YiB) 1024⁸ bytes

 

reference: en.wikipedia.org/wiki/Kilobyte

반응형