💾Armazenamento de Dados|binary

Mebibyte

Symbol: MiBWorldwide

1.024KiB1.048.576B1,048576MB0,000977GiB1.048,576KB

O que é um/uma Mebibyte (MiB)?

Definição Formal

O mebibyte (símbolo: MiB) é uma unidade de armazenamento de informação digital definida pela Comissão Eletrotécnica Internacional (IEC) como exatamente 2²⁰ bytes, ou 1.048.576 bytes. O prefixo "mebi-" é uma contração de "mega-binário", e o mebibyte é parte do padrão de prefixos binários IEC 80000-13 introduzido em 1998. Um mebibyte é igual a 1.024 kibibytes (KiB).

O mebibyte foi criado para fornecer um termo inequívoco para a quantidade que tradicionalmente era chamada de "megabyte" em contextos de computação. Na computação, a memória e o armazenamento foram historicamente medidos em potências de 1024 devido à natureza binária dos sistemas digitais, mas o mesmo prefixo SI "mega" foi usado — criando ambiguidade com a definição SI de mega como exatamente 10⁶ (1.000.000). O sistema de prefixos binários da IEC resolve isso: um mebibyte (MiB) é exatamente 1.048.576 bytes, enquanto um megabyte (MB) é exatamente 1.000.000 bytes.

Comparação de Tamanho

Um mebibyte é 4,858% maior que um megabyte. Embora essa diferença possa parecer pequena, ela se acumula em escalas maiores e pode ser significativa na prática. Um arquivo reportado como "100 MB" em decimal contém 100.000.000 bytes, enquanto "100 MiB" em binário contém 104.857.600 bytes — uma diferença de quase 5 milhões de bytes. Em ambientes com restrições de memória, como sistemas embarcados, desenvolvimento de firmware e programação de núcleo de sistema operacional, essa distinção é crítica.

Etymology

Construção do Termo

A palavra "mebibyte" foi construída pelo Comitê Técnico 25 da IEC seguindo uma convenção de nomenclatura sistemática. O prefixo "mebi-" combina as duas primeiras letras de "mega" com as duas primeiras letras de "binário", resultando em "mebi" (pronunciado MEH-bee). Este padrão de construção se aplica a todos os prefixos binários da IEC: kibi, mebi, gibi, tebi, pebi e exbi. O símbolo MiB usa "Mi" para o prefixo e "B" para byte.

Recepção Linguística

O termo "mebibyte" enfrentou resistência significativa no uso cotidiano, com muitos engenheiros e usuários achando os nomes de prefixos binários da IEC estranhos ou desconhecidos. Críticos observaram que palavras como "mebibyte" e "gibibyte" são foneticamente similares e podem soar incomuns em inglês. Apesar disso, os termos ganharam aceitação constante em documentação técnica, publicações científicas e software compatível com normas ao longo das últimas duas décadas.

Precise Definition

Padrão IEC 80000-13

O mebibyte é definido na IEC 80000-13 (anteriormente IEC 60027-2) como: 1 MiB = 2²⁰ B = 1.048.576 B = 1.024 KiB. O padrão distingue explicitamente isso do megabyte: 1 MB = 10⁶ B = 1.000.000 B = 1.000 kB. Ambas as definições são precisas e inequívocas dentro de seus respectivos contextos.

Endosse Internacional

Os prefixos binários da IEC, incluindo o mebibyte, são endossados pelo NIST (em seu Guia para o Uso do Sistema Internacional de Unidades), IEEE (na IEEE 1541-2002), ISO (na ISO/IEC 80000) e BIPM. A comunidade de padrões chegou a um consenso de que os prefixos SI devem se referir exclusivamente a potências de 1000, e os prefixos binários devem ser usados para potências de 1024. A implementação por fornecedores de software, no entanto, permanece inconsistente.

Implicações Práticas

A diferença entre MiB e MB afeta cálculos do mundo real. Quando um programador aloca 256 MB de memória, o sistema operacional normalmente aloca 256 × 1.048.576 = 268.435.456 bytes (256 MiB). Mas se um protocolo de rede especifica um limite de dados de 256 MB usando a definição SI, isso significa 256.000.000 bytes. O mebibyte fornece uma maneira de especificar exatamente qual interpretação é pretendida.

História

Origens da Confusão do Megabyte

O termo "megabyte" tem sido ambíguo desde os primeiros dias da computação. Nas décadas de 1970 e 1980, quando a memória dos computadores era medida em kilobytes e megabytes, a indústria de computação usava universalmente esses termos para significar potências de 1024. O processador Intel 8086 (1978) podia endereçar 1 MB de memória, significando 1.048.576 bytes. O Commodore Amiga (1985), Macintosh (1984) e IBM PC AT (1984) usaram "megabyte" para significar 2²⁰ bytes.

A confusão começou quando os fabricantes de armazenamento começaram a usar a definição SI. Disquetes, discos rígidos e mídias ópticas foram comercializados usando potências de 1000, enquanto os sistemas operacionais exibiam tamanhos usando potências de 1024. Essa discrepância se tornou uma fonte persistente de reclamações de consumidores e confusão técnica.

A Resposta da IEC

A IEC publicou pela primeira vez o padrão de prefixos binários em 1998, introduzindo o mebibyte e suas unidades relacionadas. O padrão passou por revisão e foi incorporado à IEC 80000-13 em 2008. O objetivo era simples: dar à interpretação binária seu próprio nome e símbolo distintos, deixando "megabyte" para significar exatamente 10⁶ bytes, conforme o sistema de prefixos SI dita.

Cronologia da Adoção

Distribuições Linux começaram a adotar a notação MiB em meados dos anos 2000. As coreutils do GNU adicionaram suporte a prefixos binários da IEC. Ubuntu, Fedora e outras distribuições atualizaram seus gerenciadores de arquivos e ferramentas de sistema. A Apple adotou uma abordagem diferente em 2009, fazendo com que o macOS usasse definições decimais SI estritas (1 MB = 1.000.000 bytes). O Microsoft Windows continua sendo o mais significativo resistente, continuando a usar cálculos binários com rótulos SI até o Windows 11.

Uso atual

Desenvolvimento de Software

O mebibyte é amplamente utilizado no desenvolvimento de software para especificar limites de memória, tamanhos de buffer e restrições de tamanho de arquivo. As configurações de memória da Java Virtual Machine (JVM) usam valores em MiB: "-Xmx512m" aloca 512 MiB de espaço heap. Limites de memória de contêineres Docker, solicitações de recursos do Kubernetes e alocações de memória de funções em nuvem são tipicamente especificados em MiB. O tempo de execução da linguagem de programação Go relata o uso de memória em bytes, mas os desenvolvedores comumente convertem para MiB para legibilidade.

Sistemas Operacionais

Mensagens do kernel Linux, ferramentas de gerenciamento de memória e monitores de sistema relatam memória em MiB e GiB. O comando free exibe memória em kibibytes por padrão, com a flag -h mostrando valores legíveis em MiB/GiB. O macOS exibe memória em MB e GB decimais. O Windows exibe memória em valores binários, mas os rotula como MB e GB, criando uma abordagem híbrida que não se ajusta perfeitamente a nenhum padrão.

Redes e Protocolos

Em redes, protocolos de transferência de arquivos frequentemente especificam tamanhos em MiB. FTP, SFTP e cabeçalhos Content-Length HTTP usam contagens exatas de bytes, mas aplicações de transferência voltadas para o usuário exibem progresso em MiB. Clientes BitTorrent normalmente exibem tamanhos de arquivos e taxas de transferência usando prefixos binários (MiB/s).

Sistemas Embarcados e Firmware

Sistemas embarcados geralmente têm memória medida em potências exatas de dois: 1 MiB, 2 MiB, 4 MiB, 8 MiB ou 16 MiB de armazenamento flash. Microcontroladores como o ESP32 têm 4 MiB de memória flash, e imagens de firmware devem caber dentro dessas partições de tamanho binário exato. O mebibyte é a unidade natural para esses cálculos.

Everyday Use

Tamanhos Comuns de Arquivos

Muitos arquivos do dia a dia caem na faixa de mebibyte. Uma fotografia de smartphone em alta resolução (12 MP, JPEG) é tipicamente de 3 a 8 MiB. Uma música MP3 de três minutos a 320 kbps é aproximadamente 7 MiB. Um documento PDF de 50 páginas com imagens pode ter de 5 a 20 MiB. Um clipe de vídeo de um minuto em 1080p comprimido com H.264 é aproximadamente de 15 a 30 MiB, dependendo da taxa de bits.

Entendendo seu Armazenamento

Quando seu computador mostra que uma pasta contém "256 MB" de arquivos, a contagem real de bytes depende do sistema operacional. No Windows, isso significa aproximadamente 268 milhões de bytes (256 MiB). No macOS, isso significa aproximadamente 256 milhões de bytes (256 MB). Entender essa distinção ajuda a explicar por que um arquivo baixado da internet pode parecer ter um tamanho diferente dependendo de qual computador você o visualiza.

Email e Mensagens

Os limites de anexos de email são tipicamente especificados em mebibytes, embora rotulados como megabytes. O limite de anexo de 25 MB do Gmail significa 25 × 1.000.000 = 25.000.000 bytes. No entanto, a codificação base64 usada para anexos de email aumenta o tamanho do arquivo em aproximadamente 33%, então o limite prático é mais próximo de 18,75 MB (17,88 MiB) de dados de arquivo originais.

In Science & Industry

Pesquisa em Arquitetura de Computadores

Na arquitetura de computadores, o mebibyte é essencial para descrever tamanhos de cache, largura de banda de memória e estruturas de tabelas de páginas. CPUs modernas têm caches L2 de 256 KiB a 2 MiB por núcleo e caches L3 de 8 a 128 MiB compartilhados entre núcleos. A largura de banda de memória é medida em MiB/s ou GiB/s. Artigos de pesquisa em arquitetura de computadores usam a notação MiB para garantir precisão ao relatar métricas de desempenho.

Pesquisa em Compressão de Dados

Benchmarks de algoritmos de compressão medem razões de compressão usando contagens exatas de bytes, tipicamente expressas em MiB. O Canterbury Corpus, um conjunto de testes padrão para algoritmos de compressão, inclui arquivos que variam de alguns KiB a vários MiB. Artigos de pesquisa relatam tamanhos comprimidos em MiB para permitir comparação precisa entre algoritmos.

Pesquisa em Sistemas Operacionais

A pesquisa em sistemas operacionais depende de medições precisas de memória. Estudos sobre padrões de alocação de memória, comportamento de falhas de página, tamanhos de conjuntos de trabalho e fragmentação de memória exigem unidades inequívocas. O mebibyte é a unidade padrão em publicações da ACM e IEEE sobre sistemas operacionais, memória virtual e desempenho do sistema.

Análise de Protocolos de Rede

Pesquisadores de redes analisam capturas de pacotes e padrões de tráfego usando ferramentas que relatam tamanhos em MiB. Wireshark, tcpdump e ferramentas semelhantes exibem tamanhos de arquivos de captura e taxa de transferência em MiB e MB, dependendo da configuração. Pesquisas publicadas sobre desempenho de rede, controle de congestionamento e otimização de protocolos usam MiB para evitar ambiguidade de prefixo SI.

Interesting Facts

1

The difference between 1 MiB and 1 MB is 48,576 bytes — enough to store approximately 48 pages of plain text. At the terabyte scale, this discrepancy grows to nearly 100 GiB, equivalent to roughly 25 HD movies.

2

The original Apple Macintosh (1984) shipped with 128 KiB of RAM, which Apple marketed as '128K.' Its successor, the Macintosh 512K, had exactly 512 KiB (524,288 bytes) — a quantity that can only be expressed cleanly using binary prefixes.

3

A standard CD-ROM holds 700 MB (700,000,000 bytes) of data, which equals approximately 667.6 MiB. This discrepancy of 32.4 MiB is why early CD burning software sometimes showed confusing capacity figures.

4

The first computer to ship with 1 MiB of RAM was the VAX-11/780 (1977), which could be configured with up to 8 MiB. At the time, this was an extraordinary amount of memory, costing tens of thousands of dollars.

5

Video game cartridges provide a clear example of MiB usage: the original Super Nintendo cartridges ranged from 0.5 MiB to 6 MiB, while Nintendo 64 cartridges maxed out at 64 MiB. Modern Switch game cards hold up to 32 GiB.

6

The Linux kernel's out-of-memory (OOM) killer, which terminates processes when memory runs low, uses exact MiB calculations to determine memory usage. A miscalculation of even a few MiB could mean killing the wrong process.

Conversion Table

UnitValue
Kibibyte (KiB)1.024MiBKiB
Byte (B)1.048.576MiBB
Megabyte (MB)1,048576MiBMB
Gibibyte (GiB)0,000977MiBGiB
Kilobyte (KB)1.048,576MiBKB

Frequently Asked Questions

What is the difference between MiB and MB?
MiB (mebibyte) equals 1,048,576 bytes (2²⁰), while MB (megabyte) equals 1,000,000 bytes (10⁶). A mebibyte is approximately 4.86% larger than a megabyte. The MiB uses the IEC binary prefix, while MB uses the SI decimal prefix. The distinction matters for accurate data measurement and storage calculations.
Why does my computer show different file sizes than expected?
This is usually because your operating system uses binary calculations (MiB) while labeling them with SI prefixes (MB). Windows displays binary sizes with SI labels, so '1 MB' actually means 1 MiB (1,048,576 bytes). macOS uses true SI definitions (1 MB = 1,000,000 bytes). A 10,000,000-byte file shows as '9.54 MB' on Windows but '10.0 MB' on macOS.
How many MiB are in a GiB?
One gibibyte (GiB) equals exactly 1,024 mebibytes (MiB). Similarly, one mebibyte equals 1,024 kibibytes (KiB), and one tebibyte (TiB) equals 1,024 gibibytes. The binary prefix system consistently uses factors of 1,024 (2¹⁰) between each level.
Should I use MiB or MB?
Use MiB when referring to binary quantities (memory sizes, binary file sizes, operating system memory reports). Use MB when referring to decimal quantities (storage device capacities, network transfer sizes, SI-compliant measurements). In technical documentation and programming, MiB is preferred for clarity. For general audiences, MB with a note about the convention is often more practical.
How many bytes are in a mebibyte?
One mebibyte contains exactly 1,048,576 bytes (2²⁰ = 1,024 × 1,024). This is 48,576 bytes more than a megabyte (1,000,000 bytes). One mebibyte also equals 8,388,608 bits.
Why is RAM measured in MiB but hard drives in MB?
RAM chips are manufactured in sizes that are powers of two (128 MiB, 256 MiB, 512 MiB, etc.) because memory addressing works in binary. Hard drives and SSDs have no such constraint — their capacity is determined by the number of sectors, which can be any number. Storage manufacturers adopted SI (decimal) definitions because they result in larger advertised numbers.
How do I convert between MiB and MB?
To convert MiB to MB: multiply by 1.048576. For example, 100 MiB = 104.8576 MB. To convert MB to MiB: divide by 1.048576. For example, 100 MB = 95.367 MiB. For quick approximation, MiB values are about 5% larger than the same number in MB.