Cookies para estatística e publicidade
Usamos cookies de estatística e de publicidade, ambos enviados ao Google. Recusar não muda nada do que você vê.Ler a página de privacidade
1 KiB = 0,0009765625 MiB
Digite um valor e a conversão de kibibyte para mebibyte se atualiza enquanto você escreve. O fator exibido é 0,0009765625: é isso que corresponde em MiB a 1 KiB. O cálculo é feito no seu próprio aparelho, e o valor digitado não é enviado para um servidor.
512 KiB is 0,5 MiB
— meio mebibyte.
4 KiB is 0,003906 MiB
— uma página de memória em quase todos os sistemas.
716800 KiB is 700 MiB
— um CD de áudio, de onde o número saiu.
8192 KiB is 8 MiB
— um bloco de memória como o que um programa reserva.
| KiB | MiB |
|---|---|
| 10 | 0,009765625 |
| 20 | 0,01953125 |
| 50 | 0,048828125 |
| 100 | 0,09765625 |
| 500 | 0,48828125 |
| 1000 | 0,9765625 |
| 5000 | 4,8828125 |
| 10000 | 9,765625 |
Converter KiB para MiB
Um kibibyte são exatamente 1.024 bytes. O nome foi introduzido em 1998 para que «kilobyte» pudesse voltar a significar 1.000, embora o costume nunca tenha pegado de vez.
Um mebibyte são 1.024 kibibytes, ou seja 1.048.576 bytes. As ferramentas do Linux e os números de memória quase sempre se referem a isto, mesmo escrevendo «MB».
Neste sentido a conta é uma divisão, e por um número inteiro: 1.024 dessas cabem em um mebibyte sem sobrar nada. O incômodo é só que os resultados saem em frações — um terço, um doze avos — em vez dos números redondos que o sentido contrário dá.
Mesmo assim não se perde nada, porque a divisão é exata. Se o seu resultado não quer parar quieto em decimais — 0,0833… e parentes —, isso é a fração aparecendo, não um erro se instalando.
Um KiB são 1.024 da unidade de baixo; um kB, 1.000. Nesta página isso é a diferença entre 0,001 MiB e 0,001 MiB — 2,4 % — e a distância cresce a cada degrau: por isso é arredondamento desprezível numa foto e um pedaço visível de um HD.
O mistério do espaço que some é inteiro isso. Um disco vendido como um terabyte tem exatamente o que diz em unidades decimais; o Windows reconta em unidades binárias e mantém o nome decimal, então o número encolhe sem que nada tenha se perdido. O macOS conta em unidades decimais desde o 10.6, e é por isso que o mesmo disco pode aparecer com dois tamanhos em dois computadores.
O comando que produziu seu número importa mais que a aritmética que vem depois. O du do GNU conta blocos de disco alocados em unidades de 1.024 bytes, então du -sk build/ responde "quanto do sistema de arquivos está reservado", não "quantos bytes de conteúdo existem ali". O ls -l reporta o segundo número, em bytes, e os dois rotineiramente discordam por um fator de vários para o mesmo diretório.
Isso importa no momento em que o valor em MiB vira decisão. Dimensionar um tarball ou uma cota de upload é uma questão de conteúdo e quer o tamanho aparente; dimensionar uma partição é uma questão de alocação e quer o que o du imprimiu. stat resolve isso para um arquivo único: a linha Size é o comprimento em bytes, a linha Blocks é a alocação em unidades de 512 bytes.
Os prefixos são contrações: kilobinary virou kibi, megabinary virou mebi, gigabinary virou gibi. A IEC adotou em 1998 como emenda à IEC 60027-2, o IEEE reafirmou em IEEE 1541 em 2002, e hoje estão na ISO/IEC 80000-13. A intenção era que "kilobyte" pudesse voltar a significar mil bytes em todo contexto, com o sentido binário ganhando nome próprio.
A adoção foi num sentido e parou. Ferramentas Linux e BSD, a maioria dos documentos de padrão, vários hipervisores e o Kubernetes usam os prefixos IEC; marketing de armazenamento, Windows, macOS e a maior parte da documentação de linguagem de programação nunca usaram.
du -h, ls -lh, df -h e free -h usam por padrão potências de dois e imprimem um sufixo de uma letra só — K, M, G — sem nenhum "i" à vista. A flag --si muda as mesmas ferramentas para potências de dez e imprime um k minúsculo. A caixa dessa única letra é o sinal inteiro, e é invisível numa captura de tela colada num chamado.
Então uma listagem lendo 3.5M são 3,5 MiB, ou 3.670.016 bytes, e entregar esse valor a algo que presume megabyte deixa você 4,9% abaixo. Onde o número vai ser citado em vez de usado num cálculo, du -B1 ou ls -l dá bytes puros e remove a ambiguidade inteiramente.
Sistemas de arquivo distribuem espaço em blocos. O tamanho padrão de bloco é 4 KiB tanto no ext4, XFS quanto no NTFS, o que coincide com o tamanho de página de memória no x86-64 e não é coincidência. Um arquivo de 200 bytes ocupa um bloco; um de 4.096 bytes também; um de 4.097 bytes ocupa dois. O resto desperdiçado é chamado slack, e fica invisível até você converter o total de um diretório para MiB.
A aritmética vale fazer uma vez. Dez mil arquivos com média de 200 bytes guardam cerca de 2 MiB de conteúdo e ocupam 40.960 KiB — 40 MiB — de disco. du --apparent-size -sk reporta a cifra de conteúdo e du -sk simples a alocada.
Um kibibyte são 2¹⁰ bytes e um mebibyte são 2²⁰, então ir de um para outro é um deslocamento de dez bits. Todo valor em KiB converte para um valor em MiB que termina em decimal — 1 KiB são 0,0009765625 MiB, sem arredondamento e sem cauda repetindo — porque 1.024 não tem fator primo além de dois.
Este é o único canto da conversão de unidades onde um resultado de ponto flutuante pode ser confiado sem ressalva. Qualquer contagem de KiB abaixo de 2⁴³ divide por 1.024 num float de precisão dupla com todo bit intacto. Converter quilograma para libra não pode fazer essa afirmação; isto pode.
du -sk dá um inteiro simples de kibibytes e du -sh dá uma string arredondada e legível. A forma arredondada é para ler e o inteiro é para aritmética, e misturar os dois é como uma planilha de capacidade acaba desviando alguns por cento sem nenhuma linha visivelmente errada.
O hábito prático é coletar em KiB e formatar no final. du -sk | sort -n ordena corretamente; du -sh | sort -h precisa da flag -h no sort também e vai desordenar silenciosamente sem isso, porque ordenação lexical simples coloca 1.1G acima de 9.9M.
Vários lugares num sistema Linux são contados em KiB por definição. ulimit -s é um limite de pilha em kibibytes, comumente 8192. Cotas de disco são definidas e reportadas em blocos de 1 KiB. A opção size= num ponto de montagem tmpfs é a armadilha do conjunto: a documentação do kernel diz que um número puro é bytes, então size=65536 dá 64 KiB e não os 64 MiB que alguém contando em kibibytes esperava.
Quase todo campo em /proc/meminfo é kibibyte sob um rótulo que diz kB. Onde o destino é um desses campos, a direção útil é a outra, e a conversão aqui é para leitura, não para configuração.
1 KiB é 0,0009765625 MiB. A equivalência entre kibibyte e mebibyte é fixa; o número exibido é limitado a doze algarismos significativos para evitar ruído de ponto flutuante.
Não. O cálculo acontece no seu navegador. Você pode desconectar da internet e continuar calculando, que aliás é a forma mais simples de conferir isso.
Porque duas unidades diferentes têm o mesmo nome. Os fabricantes contam 1 GB = 1.000.000.000 bytes; o Windows mostra gibibytes, ou seja 1.073.741.824 bytes, mas chama de «GB». O mesmo disco parece assim sete por cento menor. Nada sumiu.
Um MiB é 1024 KiB. É a mesma relação lida de trás para frente, então um resultado de uma página passado pela outra tem que voltar ao ponto de partida.
O que esta página afirma sobre unidades de informação pode ser conferido, e estes são os documentos que resolvem a questão.
O fator é uma constante na página e a conta são quatro operações, então nada é enviado a lugar nenhum e nada precisa ser. O número que você digita não sai do navegador — não existe requisição em que ele pudesse viajar.