Kibibyte
Symbol: KiBWorldwide
O que é um/uma Kibibyte (KiB)?
Definição Formal
O kibibyte (símbolo: KiB) é uma unidade de armazenamento de informação digital definida pela Comissão Eletrotécnica Internacional (IEC) como exatamente 2¹⁰ bytes, ou 1.024 bytes. O kibibyte foi introduzido em 1998 como parte da norma IEC 80000-13 para fornecer um sistema de prefixo binário inequívoco que distingue múltiplos binários (potências de 1024) de múltiplos decimais (potências de 1000). O nome "kibibyte" é uma combinação de "kilo binary byte," abreviado como KiB.
O kibibyte existe para resolver uma ambiguidade de longa data na computação. Durante décadas, o prefixo "kilo-" foi usado informalmente para significar 1024 em contextos computacionais, embora sua definição no SI seja exatamente 1000. Esse uso duplo causou confusão: um "kilobyte" poderia significar 1.000 bytes (definição SI) ou 1.024 bytes (convenção binária). Os prefixos binários da IEC — kibi (2¹⁰), mebi (2²⁰), gibi (2³⁰), tebi (2⁴⁰), pebi (2⁵⁰) e exbi (2⁶⁰) — foram criados especificamente para eliminar essa ambiguidade.
Relação com Outras Unidades
Um kibibyte é exatamente igual a 1.024 bytes, ou 8.192 bits. É 2,4% maior que o kilobyte decimal (1.000 bytes). Embora a diferença no nível do kibibyte seja pequena — apenas 24 bytes — a discrepância se acumula significativamente em escalas maiores: um mebibyte (1.048.576 bytes) é 4,86% maior que um megabyte (1.000.000 bytes), e um tebibyte é 9,95% maior que um terabyte. Essa diferença crescente é a principal razão pela qual os prefixos binários da IEC foram considerados necessários.
Etymology
Criação de Prefixos Binários
O termo "kibibyte" foi criado pela Comissão Eletrotécnica Internacional em dezembro de 1998 como parte de um esforço para padronizar a nomenclatura de prefixos binários. O Comitê Técnico 25 (TC 25) da IEC sobre "Quantidades e unidades" propôs o novo sistema de prefixos após anos de discussão sobre a confusão causada pelo uso de prefixos do SI para quantidades binárias. O prefixo "kibi-" é construído a partir das duas primeiras letras de "kilo" e das duas primeiras letras de "binary," resultando em "kibi." O mesmo princípio de construção se aplica a todos os prefixos binários da IEC: mebi (mega-binário), gibi (giga-binário), tebi (tera-binário), pebi (peta-binário) e exbi (exa-binário).
Desafios de Adoção
Apesar de estar padronizado por mais de 25 anos, o kibibyte e suas unidades irmãs tiveram uma adoção desigual. O IEEE, NIST e ISO todos endossam formalmente os prefixos binários da IEC. Sistemas operacionais Linux, os ambientes de desktop GNOME e KDE, e muitas ferramentas de código aberto usam KiB de forma consistente. No entanto, a Apple mudou o macOS para prefixos decimais em 2009, e o Microsoft Windows continua a usar "KB" para significar 1.024 bytes a partir de 2024. A indústria da computação permanece dividida, com muitos desenvolvedores e administradores de sistema preferindo o familiar "KB" em vez do tecnicamente correto "KiB."
Precise Definition
Norma IEC 80000-13
O kibibyte é formalmente definido na norma IEC 80000-13 (anteriormente IEC 60027-2), publicada pela Comissão Eletrotécnica Internacional. A norma especifica: 1 KiB = 2¹⁰ B = 1024 B. A norma também define a família completa de prefixos binários: kibi (Ki, 2¹⁰), mebi (Mi, 2²⁰), gibi (Gi, 2³⁰), tebi (Ti, 2⁴⁰), pebi (Pi, 2⁵⁰) e exbi (Ei, 2⁶⁰). Esses prefixos são aplicáveis a qualquer unidade, não apenas ao byte — por exemplo, kibibit (Kibit) é igual a 1.024 bits.
Suporte a Padrões Internacionais
Os prefixos binários da IEC foram endossados por várias organizações de padrões internacionais. O Instituto Nacional de Padrões e Tecnologia (NIST) nos Estados Unidos os adotou em 2008 em seu Guia para o Uso do Sistema Internacional de Unidades. A Associação de Normas IEEE inclui-os na IEEE 1541-2002. A Organização Internacional de Normalização (ISO) os referencia na ISO/IEC 80000.
Comparação com o Kilobyte do SI
O kilobyte do SI (kB) é exatamente igual a 1.000 bytes, seguindo o sistema de prefixo padrão do SI. O kibibyte (KiB) é igual a 1.024 bytes. A diferença de 24 bytes (2,4%) nessa escala pode parecer insignificante, mas reflete uma distinção fundamental em como as quantidades são contadas: decimal (base-10) versus binário (base-2). Na computação, onde endereços de memória, linhas de cache e tamanhos de página são inerentemente potências de dois, a interpretação binária é muitas vezes mais natural e tecnicamente significativa.
História
O Problema do Kilobyte Binário
Desde os primeiros dias da computação na década de 1950, os engenheiros usaram o termo "kilobyte" para significar 1.024 bytes porque a memória dos computadores era organizada em potências de dois. Computadores antigos, como o IBM 7030 (1961), tinham tamanhos de memória como 32K palavras, onde K significava 1.024. Essa convenção persistiu por décadas durante a revolução dos computadores pessoais das décadas de 1980 e 1990: um computador anunciado como tendo "640 KB de RAM" na verdade tinha 640 × 1.024 = 655.360 bytes.
O conflito surgiu quando os fabricantes de armazenamento começaram a usar a definição do SI. Um disquete "1,44 MB" armazenava 1.440 × 1.024 = 1.474.560 bytes — nem 1.440.000 bytes (1,44 MB no SI) nem 1.048.576 bytes (1 MiB). Os fabricantes de discos rígidos também adotaram a definição do SI, anunciando drives "500 GB" que armazenavam 500.000.000.000 bytes — cerca de 465 GiB. Essa discrepância levou a confusão entre os consumidores e até mesmo a processos coletivos contra os fabricantes de armazenamento.
A Solução da IEC
Em resposta, a IEC propôs o sistema de prefixos binários em 1996, publicando-o formalmente em 1998 como Emenda 2 à IEC 60027-2. A proposta foi desenvolvida principalmente pelo Comitê Técnico 25 da IEC. A intenção era clara: reservar os prefixos do SI (kilo, mega, giga) exclusivamente para potências de 1000 e usar os novos prefixos binários (kibi, mebi, gibi) para potências de 1024. A norma foi refinada ainda mais na IEC 80000-13, publicada em 2008.
Adoção Mista
A adoção tem sido gradual e inconsistente. O kernel do Linux e as ferramentas associadas adotaram a notação KiB cedo. O Ubuntu e outras distribuições exibem tamanhos de arquivos em KiB, MiB e GiB. O macOS da Apple mudou para kilobytes decimais (1 KB = 1.000 bytes) no Snow Leopard (2009), evitando o problema completamente ao usar definições do SI. O Microsoft Windows, o sistema operacional de desktop mais amplamente utilizado, continua a exibir "KB" significando 1.024 bytes, criando uma inconsistência contínua com o padrão. Na prática, o mundo da computação permanece dividido, embora a documentação técnica use cada vez mais a notação correta da IEC.
Uso atual
Sistemas Operacionais e Gerenciadores de Arquivos
O kibibyte é diretamente relevante sempre que os tamanhos de arquivos são exibidos em um computador. Sistemas baseados em Linux (Ubuntu, Fedora, Arch Linux) e seus gerenciadores de arquivos geralmente usam KiB, MiB e GiB ao exibir tamanhos de arquivos. O aplicativo GNOME Files e o KDE Dolphin usam ambos os prefixos binários da IEC. No entanto, muitas ferramentas de linha de comando usam potências de 1024 ao exibir "K" ou "KB" a menos que configuradas especificamente para usar a notação da IEC.
Programação e Desenvolvimento de Software
Na programação, o kibibyte é usado em alocação de memória, dimensionamento de buffers e ajuste de desempenho. Páginas de memória na maioria das arquiteturas são 4 KiB (4.096 bytes). Buffers de pacotes de rede, tamanhos de bloco de sistema de arquivos e alinhamentos de linhas de cache são todos especificados em potências de dois. Linguagens como Python, Go e Rust têm bibliotecas de formatação que suportam a notação KiB. As GNU coreutils (ls, du, df) suportam a flag --si para saída decimal e -h para saída binária com prefixo IEC.
Documentação Técnica
Normas técnicas, especificações de hardware e artigos acadêmicos estão cada vez mais usando os prefixos binários da IEC para evitar ambiguidade. Normas de memória JEDEC, RFCs de rede IETF e documentação do kernel do Linux usam ou recomendam a notação KiB. A tendência em direção à correção na comunicação técnica continua, mesmo que o uso cotidiano fique para trás.
Armazenamento e Redes
Na escala do kibibyte, aplicações práticas incluem tamanhos de mensagens de email (um email típico em texto simples é de 2 a 10 KiB), arquivos de configuração (geralmente de 1 a 50 KiB), pequenas imagens e ícones (4-256 KiB) e firmware de sistemas embarcados. Tamanhos de MTU de rede (tipicamente 1.500 bytes, ou aproximadamente 1,46 KiB) e tamanhos de janela TCP são frequentemente discutidos em termos de kibibytes.
Everyday Use
Tamanhos de Arquivos que Você Encontra Diariamente
O kibibyte é a unidade apropriada para muitos arquivos digitais comuns. Um email típico em texto simples sem anexos é de 2 a 10 KiB. Um favicon (o pequeno ícone em uma aba do navegador) geralmente é de 1 a 4 KiB. Um documento de texto curto ou arquivo de configuração varia de 1 a 50 KiB. Uma única página de texto formatado em um processador de texto é aproximadamente de 20 a 40 KiB. Arquivos de código-fonte geralmente variam de 1 a 100 KiB, com a maioria dos arquivos individuais caindo entre 5 e 30 KiB.
Entendendo Exibições de Tamanho de Arquivo
Quando você vê um arquivo listado como "48 KB" em seu computador, a contagem real de bytes depende do seu sistema operacional. No Windows, "48 KB" significa 48 × 1.024 = 49.152 bytes (que tecnicamente deveria ser escrito como 48 KiB). No macOS (desde 2009), "48 KB" significa 48 × 1.000 = 48.000 bytes. Na maioria das distribuições Linux, você veria "48 KiB" significando 49.152 bytes. Essa inconsistência é uma das fontes mais persistentes de confusão na computação cotidiana.
O Kibibyte em Contexto
Para colocar o kibibyte em perspectiva: um KiB pode armazenar aproximadamente 1.024 caracteres ASCII — cerca de um quinto de uma página impressa padrão. Uma mensagem de texto SMS típica (160 caracteres) usa cerca de 0,16 KiB se armazenada em ASCII, ou cerca de 0,31 KiB em codificação UTF-16. Uma foto de smartphone de alta resolução (12 megapixels, JPEG comprimido) é aproximadamente de 3.000 a 8.000 KiB (3-8 MiB). Um arquivo de áudio MP3 de um minuto a 128 kbps é aproximadamente 960 KiB.
In Science & Industry
Ciência da Computação e Arquitetura de Memória
Na ciência da computação, o kibibyte é fundamental para entender a arquitetura de memória. Páginas de memória virtual em processadores x86 e ARM são tipicamente 4 KiB (4.096 bytes). O buffer de tradução (TLB), que armazena em cache traduções de endereços virtuais para físicos, opera nessas páginas de 4 KiB. Páginas grandes, usadas para otimização de desempenho em bancos de dados e máquinas virtuais, são tipicamente 2 MiB (2.048 KiB) ou 1 GiB. As linhas de cache da CPU geralmente têm 64 bytes (0,0625 KiB), e os tamanhos de cache L1 em processadores modernos variam de 32 KiB a 128 KiB por núcleo.
Teoria da Informação
Na teoria da informação, a medição precisa de quantidades de dados é essencial. Ao calcular entropia, taxas de compressão ou capacidade de canal, a distinção entre 1.000 e 1.024 pode afetar os resultados. Pesquisadores em teoria da informação e teoria da codificação usam kibibytes (e outras unidades da IEC) para garantir relatórios inequívocos de tamanhos de dados. Artigos publicados em locais do IEEE e ACM exigem cada vez mais prefixos binários da IEC.
Sistemas Embarcados
Sistemas embarcados — os microcontroladores dentro de carros, eletrodomésticos, dispositivos médicos e equipamentos industriais — frequentemente têm memória medida em kibibytes. Um microcontrolador ARM Cortex-M0 típico pode ter 32 KiB de memória flash e 4 KiB de RAM. Engenheiros de firmware devem contabilizar cada byte, tornando a definição precisa de KiB (versus kB) crítica para o planejamento de recursos. Um mal-entendido de 2,4% nessas escalas poderia significar a diferença entre firmware que cabe na memória e firmware que não cabe.
Interesting Facts
The original IBM PC (1981) shipped with 16 KiB of RAM, expandable to 256 KiB. Today, a single CPU cache on a modern processor may contain 32-64 KiB of L1 cache that operates thousands of times faster than that original RAM.
The IEC binary prefixes were proposed partly in response to a class-action lawsuit against Western Digital in 2006, where consumers argued that a '500 GB' hard drive should contain 500 × 2³⁰ bytes rather than 500 × 10⁹ bytes. The lawsuit was settled for $2.5 million.
The famous '640K ought to be enough for anyone' quote — often attributed to Bill Gates — refers to 640 KiB (655,360 bytes) of conventional memory in the original IBM PC architecture. Gates has denied ever making this statement.
A standard 1.44 MB floppy disk actually held 1,440 KiB (1,474,560 bytes), which is neither 1.44 megabytes (1,440,000) nor 1.44 mebibytes (1,509,949). It used a unique hybrid convention that matched no standard.
The JEDEC memory standard body still uses KB to mean 1,024 bytes in RAM specifications, creating an official exception to the IEC standard. This means your computer's RAM and storage use different definitions of 'kilo.'
Wikipedia, one of the world's most-visited websites, officially uses IEC binary prefixes (KiB, MiB, GiB) in all technical articles, following a formal policy decision made in 2005.