Converter GiB para MB

GiB
1073,741824MB

1 GiB = 1073,741824 MB

Digite um valor e a conversão de gibibyte para megabyte se atualiza enquanto você escreve. O fator exibido é 1073,741824: é isso que corresponde em MB a 1 GiB. O cálculo é feito no seu próprio aparelho, e o valor digitado não é enviado para um servidor.

  • Onde roda No seu navegador. O número que você digita nunca faz parte de uma requisição.
  • Exato por definição 1 GiB é exatamente 1073,741824 MB — uma definição, não um fator arredondado.
  • Responde enquanto você digita Sem botão, sem espera. A resposta já está na página antes de qualquer script rodar.

gibibyte para megabyte na prática

  • 8 GiB is 8590 MB

    — a memória de um notebook intermediário.

  • 931 GiB is 999700 MB

    — o que o Windows mostra para um disco de um terabyte.

  • 0,004657 GiB is 5 MB

    — uma música numa boa taxa de bits.

  • 3,725 GiB is 4000 MB

    — um filme em qualidade normal.

gibibyte e megabyte num relance

Cada número desta tabela é calculado a partir da mesma definição que a calculadora usa, então a tabela não tem como divergir da resposta acima.
GiBMB
11073,741824
22147,483648
55368,70912
1010737,41824
5053687,0912
100107374,1824
500536870,912
10001073741,824

gibibyte e megabyte

Um gibibyte são 1.073.741.824 bytes, cerca de 7 % a mais que um gigabyte. O Windows mede em gibibytes mas rotula «GB», e é nisso que consiste todo o mistério do espaço que some.

Um megabyte é um milhão de bytes. Os fabricantes de armazenamento sempre contaram em decimal, e por isso os números deles parecem maiores do que o que o computador mostra.

O que custa arredondar o fator

O fator é 1073,741824, e quase ninguém carrega isso na cabeça. Arredondado para 1070 ele erra 0,35 % — invisível em números pequenos, e já uma unidade inteira por volta de 1.000 GiB.

É esse o número que interessa antes de arredondar: não o erro em si, mas a partir de onde ele deixa de ser desprezível. Abaixo disso o fator curto é o sensato; acima, use o campo lá em cima, que só arredonda na hora de escrever.

GiB é a unidade binária

Um GiB são 1.024 da unidade de baixo; um GB, 1.000. Nesta página isso é a diferença entre 1073,7418 MB e 1000 MB — 7,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.

Memória é binária porque as linhas de endereço dizem isso

Toda outra quantidade nesta categoria é binária por convenção e poderia em princípio ter ido pelo outro caminho. Memória não podia. Um chip é selecionado por linhas de endereço, e n linhas alcançam exatamente 2 elevado a n posições — dez linhas dão 1.024, vinte dão 1.048.576, trinta dão 1.073.741.824. Não existe fiação que alcance um número decimal redondo de posições, então a capacidade de memória é uma potência de dois por construção, não por escolha de ninguém.

É por isso que um módulo vendido como 16 GB guarda 17.179.869.184 bytes e ninguém reclama. O rótulo é um prefixo decimal aplicado a uma quantidade binária, exatamente a prática que causa discussão sobre disco rígido, e aqui não causa nenhuma — porque a alternativa seria vender 16 GB de memória contendo 16.000.000.000 bytes, o que não pode ser construído.

Convertendo GiB para MB, e o campo que quer MiB

A aritmética é uma multiplicação por 1.073,741824: 8 GiB são 8.589,93 MB, 16 GiB são 17.179,87 MB, 64 GiB são 68.719,48 MB. Essas são as figuras decimais corretas e quase nunca são o que um campo de alocação quer, porque um campo pedindo memória em MB geralmente está pedindo mebibyte e esperando 8.192, 16.384 e 65.536.

Então a primeira pergunta não é como converter, é qual unidade a caixa quer dizer. O argumento de memória do QEMU é em mebibyte; a maioria das interfaces de virtualização rotuladas MB se comporta igual; o sufixo da JVM também é binário. Onde um deles é genuinamente decimal, digitar a figura binária redonda entrega ao processo 4,6 por cento menos memória do que pretendido, o que num heap ajustado ou num pool de buffer de banco de dados é o suficiente para mudar comportamento sem produzir erro nenhum.

Um experimento rápido que resolve o que o campo significa

Aloque um número binário redondo e pergunte ao convidado o que ele recebeu. Digite 4.096 no campo, inicie a máquina, e leia a memória que ela reporta: um convidado mostrando exatamente 4 GiB confirma que o campo é mebibyte, e um mostrando 3,81 GiB confirma que é megabyte decimal. O teste inteiro leva um minuto e a resposta vale para essa ferramenta permanentemente.

Vale fazer isso uma vez por plataforma em vez de raciocinar pela documentação, porque a documentação nesse ponto frequentemente foi escrita por alguém que não considerou a questão. O comportamento observado é a autoridade e o rótulo não é.

Dimensionando um heap ou um pool de buffer a partir de uma figura de host

A cadeia da figura em GiB de um host até a alocação de um processo geralmente passa por três unidades e pelo menos uma subtração. O host reporta GiB. Algo precisa sobrar para o sistema operacional, cache de página e qualquer outro processo. O restante vai para um campo em MB ou MiB, e dentro do processo vira um heap com sua própria sobrecarga em cima do número que você deu.

O jeito confiável de passar por isso é fazer todo passo em byte e converter uma vez, no fim, para a unidade que o campo acabar querendo. Fazer em unidades misturadas convida uma subtração entre uma figura decimal e uma binária, o que produz um número que não é nenhum dos dois.

Overcommit, e por que 4,9 por cento pode passar despercebido por meses

Um hipervisor geralmente vai deixar você prometer aos convidados mais memória no total do que o host fisicamente tem, na suposição razoável de que nem todos vão usar o máximo ao mesmo tempo. Isso significa que uma alocação silenciosamente 5 por cento menor do que pretendido não falha na configuração, não falha na inicialização, e não falha sob carga comum. Falha sob a pressão específica que o dimensionamento deveria cobrir.

Quando falha, o sintoma aponta para longe da causa. Um convidado trocando memória em disco, um heap gastando tempo coletando lixo, um cache com taxa de acerto pior do que o modelo previu — tudo isso parece problema de ajuste, e o número de dimensionamento na configuração parece correto porque é o número que alguém pretendia digitar. Checar o que o convidado realmente recebeu é o passo que encontra isso.

O que o sistema operacional tira antes de você ver

Memória instalada e memória disponível são números diferentes por motivos que não têm nada a ver com unidade. O firmware reserva regiões, e numa máquina com gráfico integrado um bloco é reservado para a tela, então um sistema com 16 GiB instalados pode reportar visivelmente menos como utilizável. Isso é uma subtração genuína de memória real em vez de uma troca de rótulo.

Os dois se distinguem pelo tamanho e forma da lacuna. Uma diferença de unidade é sempre a mesma porcentagem — 4,9 ou 7,4, dependendo de quantos passos atravessa —, enquanto uma reserva de hardware é uma quantidade fixa que não escala com o total. Se a quantidade faltando fica constante conforme você muda a configuração, é reservada; se fica uma fração constante, é aritmética.

Por que alocações binárias redondas são mais fáceis de conviver

Nada proíbe alocar 4.000 MB de memória, e vai funcionar. Também vai falhar em dividir uniformemente pelo tamanho de página, pelo tamanho de página grande, e pela maioria das estruturas por baixo dele, então toda camada arredonda um pouco e o número que você definiu nunca é exatamente o número em vigor. Uma figura de 4.096 MiB atravessa tudo isso sem mudar, o que torna toda medição posterior mais fácil de reconciliar.

Existe também um benefício de documentação. Uma configuração cheia de potências de dois é autodescritiva: um revisor vê 8.192 e sabe que são 8 GiB sem aritmética, enquanto 8.590 precisa ser consultado e é fácil de digitar errado para algo plausível. Em sistemas onde figuras de memória são lidas com muito mais frequência do que são definidas, essa legibilidade vale mais que a diferença de capacidade insignificante entre as duas escolhas.

Converter GiB para MB: perguntas frequentes

Quanto é 1 GiB em MB?

1 GiB é 1073,741824 MB. A equivalência entre gibibyte e megabyte é fixa; o número exibido é limitado a doze algarismos significativos para evitar ruído de ponto flutuante.

O que eu digito é enviado para algum lugar?

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.

Por que meu HD mostra menos capacidade do que anuncia?

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.

Ao contrário: de megabyte para gibibyte

Um MB é 0,000931323 GiB. É 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.

De onde vêm estes números

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.

Como esta página funciona

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.