Converter KiB para GiB

KiB
9,53674316406e-7GiB

1 KiB = 9,53674316406e-7 GiB

Digite um valor e a conversão de kibibyte para gibibyte se atualiza enquanto você escreve. O fator exibido é 9,53674316406e-7: é isso que corresponde em GiB a 1 KiB. 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 KiB é exatamente 9,53674316406e-7 GiB — 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.

kibibyte para gibibyte na prática

  • 512 KiB is 0,0004883 GiB

    — meio mebibyte.

  • 4 KiB is 0,000003815 GiB

    — uma página de memória em quase todos os sistemas.

  • 8389000 KiB is 8 GiB

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

  • 976200000 KiB is 931 GiB

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

kibibyte e gibibyte 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.
KiBGiB
100000,00953674316406
200000,0190734863281
500000,0476837158203
1000000,0953674316406
5000000,476837158203
10000000,953674316406
50000004,76837158203
100000009,53674316406

kibibyte e gibibyte

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

São 1.048.576 kibibytes para um gibibyte

Neste sentido a conta é uma divisão, e por um número inteiro: 1.048.576 dessas cabem em um gibibyte 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.

KiB é a unidade binária

Um KiB são 1.024 da unidade de baixo; um kB, 1.000. Nesta página isso é a diferença entre 0 GiB e 0 GiB — 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 kernel conta memória em kibibytes e chama de kB

Todo valor em /proc/meminfo é uma contagem de unidades de 1.024 bytes impressa sob um rótulo lido como kB, e o mesmo vale para /proc/swaps, os arquivos de meminfo por nó em /sys, e os sysctls de memória. O rótulo é anterior ao kibibyte ter um nome próprio, e mudá-lo agora quebraria todo script que já leu esse arquivo, então continua "errado" e todo mundo que lê programaticamente sabe ignorar isso.

A consequência para quem converte manualmente é um erro de 2,4% no primeiro passo e 7,4% ao chegar em gibibytes, na direção que faz a máquina parecer menor do que é. Pegar o MemTotal em 16.316.480 e dividir por um milhão dá 16,3 "GB"; dividir por 1.048.576 dá 15,56 GiB, e é o segundo valor que vai bater com o que qualquer outra ferramenta na máquina informa.

Memória é a única grandeza onde binário não é convenção

Num disco rígido, o valor decimal é do fabricante e o valor binário é do sistema operacional, e nenhum dos dois é mais correto — são duas formas de contar os mesmos bytes. Memória não é assim. Um chip de memória é selecionado por linhas de endereço, n delas decodificando 2ⁿ posições, então capacidades caem em potências de dois porque qualquer outra coisa deixaria parte do espaço de endereços sem decodificar nada.

Isso faz de 8 GiB o tamanho verdadeiro de um pente de "8 GB": 8.589.934.592 bytes, com o rótulo decimal sendo a aproximação, e não o contrário. É o motivo de um valor de memória e um valor de armazenamento de tamanho nominal igual não serem a mesma quantidade de bytes, e o motivo de converter uma contagem de memória em kibibytes para GiB dar um número redondo, enquanto converter um valor de disco quase nunca dá.

O MemTotal não vai bater com o número escrito no pente

A diferença é real e vem discriminada, não é misteriosa. O firmware reserva regiões abaixo de 1 MiB e ao redor das tabelas ACPI; a placa de vídeo integrada tira uma fatia fixa que pode chegar a um gibibyte num notebook; a imagem do kernel, as tabelas de página e o mapa de memória da própria máquina saem do total antes de o MemTotal ser calculado. O comando dmesg com grep por "memory" mostra as reservas na inicialização.

Um notebook de 16 GiB relatando 15,56 GiB, portanto, perdeu cerca de 450 MiB, ou 460.736 KiB, e vale converter a diferença em vez do total quando a pergunta é "para onde foi". Um servidor com memória com correção de erro perde mais um oitavo aos bits de verificação, embora essa fatia seja invisível ao kernel e nunca apareça no valor em kibibytes.

Um milhão de kibibytes por gibibyte, e como fazer isso de cabeça

A razão é 1.048.576, próxima o bastante de um milhão para que cortar seis dígitos dê uma estimativa dentro de cinco por cento. Um MemTotal de 32.633.240 KiB se lê como "cerca de 32,6", e o valor real é 31,12 GiB — cerca de 4,6% mais baixo sempre, então a correção é fixa em vez de recalculada toda vez.

Para um valor que precisa estar certo, conte as vírgulas em vez disso. De kibibytes para mebibytes são três vírgulas para trás e uma pequena correção; de mebibytes para gibibytes, o mesmo de novo. Fazer em dois passos de dez bits é mais fácil de conferir que um passo de vinte bits, e coloca o valor em mebibytes na sua frente, que é a unidade que a maioria das configurações de contêiner e JVM pede de qualquer forma.

Huge pages transformam um pool em KiB num número incômodo em GiB

Páginas de memória comuns têm 4 KiB em x86-64, e huge pages têm 2 MiB, relatadas pelo kernel como Hugepagesize: 2048 kB. Um pool declarado como 2.048 huge pages são 4.194.304 KiB, exatamente 4 GiB — a aritmética fica limpa porque toda quantidade envolvida é uma potência de dois, motivo pelo qual huge pages têm esse tamanho para começar.

Deixa de ficar limpo quando alguém define o pool a partir de uma porcentagem. Reservar "cerca de um terço" de uma máquina de 62 GiB dá 10.600 páginas, ou 21.708.800 KiB, ou 20,7 GiB, e o valor incômodo em gibibyte é o sinal de que o número veio de uma porcentagem em vez de uma carga de trabalho real. Bancos de dados e máquinas virtuais que querem huge pages geralmente querem um valor específico, e é mais fácil declará-lo em GiB e converter para baixo.

Swap e os sysctls que continuam em kibibytes

/proc/swaps relata a coluna Size em blocos de 1.024 bytes, então um arquivo de swap de 8.388.604 blocos são 8 GiB menos quatro blocos — os quatro kibibytes ausentes são o cabeçalho que a área de swap escreve na frente. O comando swapon --show imprime a forma legível e esconde esse detalhe, o que serve para leitura e engana quem está tentando entender por que o arquivo que criou voltou quatro kibibytes menor.

Os parâmetros de ajuste também continuam em kibibytes. vm.min_free_kbytes define a reserva que o alocador não vai tocar, comumente perto de 67.584 num desktop, o que dá 66 MiB ou 0,06 GiB — pequeno o bastante para que o valor em gibibyte seja inútil e o valor em kibibyte seja a unidade certa para pensar. Converta para conferir a ordem de grandeza, depois deixe o campo como estava.

Uma máquina, duas convenções, e onde cada uma se aplica

O mesmo computador relata sua memória em unidades binárias rotuladas como decimais e seu armazenamento em unidades decimais relabeladas como binárias, e os dois hábitos se encontram no meio sem aviso nenhum. Um computador descrito como "16 GB de RAM e 512 GB de SSD" tem 17,18 bilhões de bytes de memória e 512 bilhões de bytes de disco, e o disco vai aparecer como 476,8 GiB enquanto a memória aparece como bem perto de 16.

A regra prática é olhar quem fez o rótulo. Onde um fabricante escolheu o número — discos, armazenamento de celular, velocidade de rede — é decimal, e o valor binário vai parecer menor. Onde o hardware escolheu o número — pentes de memória, tamanho de página, linhas de cache, espaços de endereço — é binário, e o valor decimal é o arredondamento. Uma contagem em kibibytes vinda do kernel é sempre do segundo tipo.

Converter KiB para GiB: perguntas frequentes

Quanto é 1 KiB em GiB?

1 KiB é 9,53674316406e-7 GiB. A equivalência entre kibibyte e gibibyte é 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 gibibyte para kibibyte

Um GiB é 1048580 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.

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.