바이트
체계 밖의 단위 · 양: 정보량
01 · 정의
이 낱말은 IBM의 기술자 베르너 부흐홀츠가 1956년에 만들었다. bit와 헷갈리지 않도록 bite를 일부러 비틀었다. 바이트의 여덟 비트가 자리 잡은 것은 1964년 System/360에 이르러서였다.
한 바이트는 여덟 비트, 곧 256개의 구별되는 상태다. 오늘날 어느 처리기에서든 주소를 매길 수 있는 가장 작은 기억 칸이다: 비트 하나만 읽을 수는 없고 칸 전체가 읽힌다. 여덟을 고른 것은 물리가 아니라 편리함이다: 2의 거듭제곱이고, 숫자와 기호를 포함한 로마자에 넉넉하며, 열여섯 진수 두 자리로 나뉜다. 바이트는 ASCII 문자 하나를 담지만 UTF-8의 키릴 문자는 담지 못한다 — 거기서는 둘이 필요하고 이모지는 넷을 차지한다.
UTF-8에서 로마자 한 글자는 한 바이트, 키릴 글자는 두 바이트, 표의 문자는 세 바이트, 이모지는 네 바이트를 차지한다. 그러니 문자는 바이트가 아니다: 문자열의 길이를 글자로 센 수와 바이트로 센 수는 서로 다른 수이며, 이를 헷갈리는 것이 깨진 글자의 가장 흔한 원인이다.
02 · 환산
용량을 넣으세요 — 자료가 환산합니다
바이트는 이중의 접두어 체계를 비트에게서 물려받았다. 십진 킬로바이트는 천 바이트, 이진 키비바이트는 1024다. 디스크 제조사는 십진으로 세고 운영 체계는 이진으로 센다 — 새 디스크마다 「모자라는」 기가바이트가 여기서 나온다.
디스크는 수십 년 동안 512바이트 구역으로 일했고 오늘날의 것은 4096으로 일한다. 파일 체계는 한 구역보다 적게 읽지 않으므로 한 바이트짜리 파일도 구역 하나를 통째로 차지한다.
| 단위 | 이름 | 값 | 어디서 만나는가 |
|---|---|---|---|
| B | 바이트, 여덟 비트 | 1000 | 기본 표기 |
| bit | 비트 | 8000 | 통로, 속도 |
| kB | 킬로바이트, 1000바이트 | 1 | 십진 접두어 |
| MB | 메가바이트, 10⁶바이트 | 0.001 | 파일, 사진 |
| GB | 기가바이트, 10⁹바이트 | 1·10⁻⁶ | 디스크, 매체 |
| TB | 테라바이트, 10¹²바이트 | 1·10⁻⁹ | 저장 |
| KiB | 키비바이트, 1024바이트 | 0.9766 | 기억, 파일 체계 |
| MiB | 메비바이트, 1024키비바이트 | 9.537·10⁻⁴ | 작업 기억 |
| GiB | 기비바이트, 1024메비바이트 | 9.313·10⁻⁷ | 운영체계 |
| TiB | 테비바이트, 1024기비바이트 | 9.095·10⁻¹⁰ | 디스크 배열 |
| B6 | 여섯 비트 바이트 | 1333 | System/360 이전 |
| B | 바이트 | 1000 | 오늘의 표기 |
십진 접두어는 천을 취하고 이진은 1024를 취하며 「i」를 붙여 쓴다: KiB, MiB, GiB. 테라바이트 디스크는 10¹²바이트를 담지만 체계는 그것을 931 GiB로 보여 준다: 양쪽 다 바르게 세고 있으며 접두어만 다를 뿐이다.
03 · 크기의 차수
문자에서 데이터 센터까지사진 한 장 — 4 MB
04 · 측정 기기
바이트는 무엇으로 세는가
상자에 적힌 용량은 십진 기가바이트로 세고 파일 체계는 이진으로 센다. 어느 쪽도 누구를 속이지 않지만 사는 사람은 표에 찍힌 것보다 작은 수를 본다.
여기서 이진 접두어는 정직하다: 16 GB짜리 부품은 정확히 16기비바이트를 담는다. 주소 매김이 언제나 2의 거듭제곱으로 가기 때문이다.
공급자는 메가비트를 팔고 내려받기 도구는 메가바이트를 보여 준다. 여덟로 나누라: 100 Mbit/s는 대략 12 MB/s를 준다.
파일을 한 바이트씩 늘어놓아 보여 준다: 왼쪽에 부호, 오른쪽에 문자. 문서 없는 형식은 이렇게 읽고 머리말이 어디서 끝나는지도 이렇게 알아낸다.
05 · 표기 규칙
B는 크게, 킬로바이트의 k는 작게
십진 킬로바이트는 kB로 작은 k와 함께 쓴다, 메가 아래의 모든 SI 접두어처럼. 큰 B가 바이트, 작은 b가 비트이며 둘의 차이는 여덟 배다. 이진 접두어는 「i」를 붙이고 첫 글자를 크게 쓴다: KiB, MiB, GiB.
러시아어에서 바이트라는 낱말은 수사 뒤 복수에서 변하지 않는다: 512 byte라고 쓰지 복수형은 결코 쓰지 않는다. 기호 B도 격 어미를 받지 않는다 — 기호이지 줄임말이 아니기 때문이다.
06 · 이웃 단위
바이트는 비트 위에 서서 무리 지어 산다: 네 비트의 반바이트는 열여섯 진수 한 자리에, 두 바이트는 짧은 수에, 네 바이트는 주소에, 여덟 바이트는 긴 수에 대응한다. 기계 낱말은 바이트의 정수 배이며 그 개수가 구조를 드러낸다.
네 바이트는 사십억 가지 상태를 준다 — IPv4의 모든 주소에 넉넉했고 바로 그래서 동이 났다.
07 · 역사 부문
여덟 비트가 아니었던 바이트들
이 낱말이 태어난 기계에서는 명령이 바이트의 길이를 정했다: 하나에서 여덟 비트까지. 여덟은 그저 위 한계였을 뿐이다.
로마자 큰 글자와 숫자와 기호에는 넉넉했다 — 이 체계들에 작은 글자는 아예 없었다. 1비트의 낱말은 그런 문자 여섯으로 나뉘었다.
처음의 부호화는 일곱 비트였다: 128 문자. 여덟째 자리는 홀짝 검사에 쓰였고 나중에야 부호의 일부가 되어 각국 글자에 자리를 내주었다.
36비트 낱말을 쓰는 기계는 그것을 아홉 비트씩 네 조각으로 나누기도 했다. System/360 규격이 차츰 모든 변종을 밀어냈다.
여덟 비트를 고른 것은 물리가 아니라 한 회사의 상업적 결정이다
1964년 이전에 바이트는 무엇이든 될 수 있었다: CDC에서는 여섯 비트, 전신 타자기에서는 일곱, 36비트 낱말을 쓰는 기계에서는 아홉, IBM Stretch에서는 임의의 길이였다. System/360의 크기를 고를 때 IBM은 여덟에서 멈췄다 — 2의 거듭제곱이고, 열여섯 진수 두 자리에 들어가며, 제어 코드를 포함한 로마자에도 각국 문자를 위한 여유에도 넉넉했다. 이 계열의 성공이 여덟을 사실상의 표준으로 만들었고, IEC가 그것을 정한 것은 2008년, 마흔네 해나 지나서였다. 형식상 규격에는 「정확히 여덟 비트」를 가리키는 별도의 낱말이 있다 — 옥텟 — 그리고 망 규격서는 모든 모호함을 없애려고 바로 그것을 적는다.
목록 · 측정 단위
양마다 하나의 자료표
SI의 기본 단위 일곱, 제 이름을 가진 유도 단위 스물둘, 그리고 그 옆에 체계 밖의 단위들. 하나하나 자기 자료가 있다: 정의, 차원, 환산, 기구, 표기 규칙. 36개 언어로.