Byte
Unidade fora do SI · grandeza: quantidade de informação
01 · Definição
A palavra foi inventada pelo engenheiro da IBM Werner Buchholz em 1956, deformando de propósito bite para que não se confundisse com bit. Os oito bits do byte só se firmaram com o System/360 em 1964.
Um byte são oito bits, ou seja 256 estados distinguíveis. É a mais pequena célula de memória endereçável em qualquer processador actual: não se pode ler um único bit, lê-se a célula inteira. O oito não foi escolhido pela física mas pela comodidade: potência de dois, chega para o alfabeto latino com algarismos e sinais e divide-se em dois algarismos hexadecimais. Um byte guarda um carácter ASCII, mas não uma letra cirílica em UTF-8 — aí são precisos dois, e um emoji ocupa quatro.
Em UTF-8 uma letra latina ocupa um byte, uma cirílica dois, um ideograma três, um emoji quatro. Um carácter não é, portanto, um byte: o comprimento de uma cadeia em caracteres e o seu comprimento em bytes são números diferentes, e confundi-los é a causa mais frequente de texto estragado.
02 · Conversão
Introduza um volume — a folha fará a conversão
O byte herdou do bit o seu duplo sistema de prefixos. O quilobyte decimal são mil bytes, o kibibyte binário 1024. Os fabricantes de discos contam em decimais, os sistemas operativos em binários — daí os gigabytes «que faltam» em cada disco novo.
Os discos trabalharam décadas com sectores de 512 bytes, os de hoje com 4096. Um sistema de ficheiros não lê menos de um sector, e assim um ficheiro de um byte ocupa um inteiro.
| Unidade | Nome | Valor | Onde aparece |
|---|---|---|---|
| B | byte, oito bits | 1000 | a escrita principal |
| bit | bit | 8000 | canal, velocidade |
| kB | kilobyte, 1000 bytes | 1 | prefixo decimal |
| MB | megabyte, 10⁶ bytes | 0,001 | ficheiros, fotos |
| GB | gigabyte, 10⁹ bytes | 1·10⁻⁶ | discos, suportes |
| TB | terabyte, 10¹² bytes | 1·10⁻⁹ | armazenamento |
| KiB | kibibyte, 1024 bytes | 0,9766 | memória, sistemas de ficheiros |
| MiB | mebibyte, 1024 kibibytes | 9,537·10⁻⁴ | memória viva |
| GiB | gibibyte, 1024 mebibytes | 9,313·10⁻⁷ | sistemas operativos |
| TiB | tebibyte, 1024 gibibytes | 9,095·10⁻¹⁰ | matrizes de discos |
| B6 | byte de seis bits | 1333 | antes do System/360 |
| B | byte | 1000 | a escrita actual |
Os prefixos decimais tomam mil, os binários 1024 e escrevem-se com um «i»: KiB, MiB, GiB. Um disco de um terabyte contém 10¹² bytes, e o sistema mostra-os como 931 GiB: ambos os lados contam bem, apenas em prefixos diferentes.
03 · Ordens de grandeza
do carácter ao centro de dadosUma fotografia — 4 MB
04 · Instrumentos de medição
Com que se contam os bytes
A capacidade na embalagem conta-se em gigabytes decimais, o sistema de ficheiros conta em binários. Nenhum dos lados engana ninguém, mas o comprador vê um número menor do que o impresso no rótulo.
Aqui os prefixos binários são honestos: um módulo de 16 GB contém exactamente 16 gibibytes, porque o endereçamento faz-se sempre em potências de dois.
O fornecedor vende megabits, o descarregador mostra megabytes. Divida por oito: 100 Mbit/s dão cerca de 12 MB/s.
Mostra o ficheiro byte a byte: à esquerda os códigos, à direita os caracteres. É assim que se lêem formatos sem documentação e se descobre onde acaba o cabeçalho.
05 · Regras de escrita
B maiúsculo, o k do quilobyte minúsculo
O quilobyte decimal escreve-se kB com k minúsculo, como todos os prefixos do SI abaixo de mega. O B maiúsculo é o byte, o b minúsculo o bit, e a diferença entre eles é óctupla. Os prefixos binários escrevem-se com um «i» e maiúscula inicial: KiB, MiB, GiB.
Em russo a palavra byte não muda no plural depois de um numeral: escreve-se 512 byte, nunca a forma plural. O símbolo B também não toma desinência de caso — é um símbolo e não uma abreviatura.
06 · Unidades vizinhas
O byte assenta no bit e vive em grupos: um nibble de quatro bits corresponde a um algarismo hexadecimal, dois bytes a um número curto, quatro a um endereço, oito a um longo. A palavra de máquina é um número inteiro de bytes, e a sua quantidade denuncia a arquitectura.
Quatro bytes dão quatro mil milhões de estados — chegou para todos os endereços do IPv4, e foi precisamente por isso que se esgotaram.
07 · Secção histórica
Os bytes que não eram oito bits
Na máquina onde a palavra nasceu, o comprimento do byte era fixado pela instrução: de um a oito bits. O oito era apenas o máximo.
Chegava para as maiúsculas latinas, os algarismos e os sinais — minúsculas simplesmente não havia nestes sistemas. Uma palavra de 1 bit dividia-se em seis caracteres desses.
A codificação original era de sete bits: 128 caracteres. O oitavo lugar servia para o controlo de paridade e só depois passou a fazer parte do código, dando lugar aos alfabetos nacionais.
As máquinas de palavra de 14 bits dividiam-na por vezes em quatro partes de nove bits. A norma System/360 foi afastando pouco a pouco todas as variantes.
Os oito bits não foram escolhidos pela física mas pela decisão comercial de uma firma
Antes de 1964 o byte era qualquer coisa: seis bits na CDC, sete nos teleimpressores, nove nas máquinas de palavra de 14 bits, comprimento arbitrário no IBM Stretch. Ao escolher o tamanho para o System/360, a IBM parou nos oito — potência de dois, cabe em dois algarismos hexadecimais e chega tanto para o alfabeto latino com os seus códigos de comando como para uma reserva de caracteres nacionais. O êxito da linha fez do oito a norma de facto, e a CEI só a fixou em 2008, quarenta e quatro anos depois. Formalmente as normas têm uma palavra à parte para «exactamente oito bits» — o octeto —, e as especificações de rede escrevem precisamente essa, para excluir qualquer ambiguidade.
Catálogo · unidades de medida
Uma ficha para cada grandeza
Sete unidades de base do SI, vinte e duas derivadas com nome próprio e, ao lado delas, unidades fora do sistema. Cada uma tem a sua folha: definição, dimensão, conversão, instrumentos, regras de escrita. Em 14 línguas.