💾Armazenamento de Dados|binary

Kibibyte

Symbol: KiBWorldwide

1.024B1,024KB0,000977MiB0,001024MB8.192bit

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

1

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.

2

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.

3

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.

4

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.

5

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.'

6

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.

Conversion Table

UnitValue
Byte (B)1.024KiBB
Kilobyte (KB)1,024KiBKB
Mebibyte (MiB)0,000977KiBMiB
Megabyte (MB)0,001024KiBMB
Bit (bit)8.192KiBbit

Frequently Asked Questions

What is the difference between a kibibyte and a kilobyte?
A kibibyte (KiB) equals 1,024 bytes (2¹⁰), while a kilobyte (kB) equals 1,000 bytes (10³) according to the SI standard. The difference is 24 bytes, or 2.4%. The kibibyte uses the IEC binary prefix system, while the kilobyte uses the SI decimal prefix system. In practice, many software applications still use 'KB' to mean 1,024 bytes.
Why was the kibibyte invented?
The kibibyte was created by the IEC in 1998 to resolve the ambiguity of the term 'kilobyte,' which was used to mean both 1,000 bytes (SI) and 1,024 bytes (binary computing convention). The dual usage caused consumer confusion, inconsistencies in software, and even lawsuits against storage manufacturers. The IEC binary prefixes provide unambiguous terminology.
Does Windows use kibibytes or kilobytes?
As of 2024, Windows uses binary calculations (powers of 1024) but labels them with SI prefixes. A file shown as '1 KB' in Windows actually contains 1,024 bytes, which should technically be labeled '1 KiB.' Microsoft has not adopted the IEC binary prefix notation, though the underlying calculations are binary.
How many bits are in a kibibyte?
One kibibyte contains exactly 8,192 bits (8 × 1,024 = 8,192). Each byte consists of 8 bits, and one kibibyte is 1,024 bytes. In binary notation, 8,192 bits = 2¹³ bits.
Is KiB the same as KB?
Technically, no. KiB (kibibyte) is 1,024 bytes, while kB (kilobyte) is 1,000 bytes according to IEC and SI standards. However, in practice, KB is often used to mean 1,024 bytes, especially in Windows and older software. The difference becomes more significant at larger scales: 1 GiB is about 7.4% larger than 1 GB.
Why do hard drives show less space than advertised?
Hard drive manufacturers use SI definitions (1 GB = 1,000,000,000 bytes), while operating systems like Windows display sizes in binary units labeled as SI (1 'GB' = 1,073,741,824 bytes). A 1 TB drive contains 1,000,000,000,000 bytes, but Windows displays this as approximately 931 GB (actually 931 GiB). The 'missing' space is an artifact of the unit mismatch, not a defect.
Which operating systems use KiB correctly?
Most Linux distributions (Ubuntu, Fedora, Arch Linux) and their desktop environments (GNOME, KDE) use KiB, MiB, and GiB correctly. macOS avoids the issue by using decimal SI units (1 KB = 1,000 bytes) since Snow Leopard (2009). Windows continues to use binary values with SI labels. Android uses SI decimal definitions for storage.