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 GB = 1000000000 B
Digite um valor e a conversão de gigabyte para byte se atualiza enquanto você escreve. O fator exibido é 1000000000: é isso que corresponde em B a 1 GB. O cálculo é feito no seu próprio aparelho, e o valor digitado não é enviado para um servidor.
64 GB is 64000000000 B
— um celular simples.
1000 GB is 1000000000000 B
— um disco vendido como de um terabyte.
0,005 GB is 5000000 B
— uma foto feita com o celular.
0,000001024 GB is 1024 B
— um kibibyte, que é onde a confusão começa.
| GB | B |
|---|---|
| 1 | 1000000000 |
| 2 | 2000000000 |
| 5 | 5000000000 |
| 10 | 10000000000 |
| 50 | 50000000000 |
| 100 | 100000000000 |
| 500 | 500000000000 |
| 1000 | 1000000000000 |
Converter GB para B
Um gigabyte é um bilhão de bytes, no sentido decimal usado pelos fabricantes de disco, pelos planos de dados e pelos tamanhos de vídeo.
Um byte são oito bits, o que nem sempre foi claro: os primeiros computadores usaram seis, sete ou nove. O oito se impôs porque nele cabe um caractere e porque o número se parte em metades limpas.
Ir de gigabytes para bytes desloca a vírgula 9 casas para a direita e não muda mais nada. Não há fator para decorar nem arredondamento para decidir: os algarismos ficam na mesma ordem, muda só a posição.
1.234 GB são 1234000000000 B — os mesmos algarismos, deslocados. Vale saber porque é a única conversão que você confere de relance: se os algarismos do resultado não são os do começo, não foi esta conversão que mexeu neles.
O valor que esta página produz é 1.000.000.000 bytes por gigabyte, porque giga é um prefixo SI significando 10⁹, e é isso que capacidade de armazenamento, taxa de transferência de rede e cobrança de nuvem entendem por ele. 4 GB são 4000000000, 32 GB são 32000000000, e a conversão é um deslocamento de nove casas decimais, sem fator nenhum envolvido.
O número com que ele é confundido é 1.073.741.824, que é 1.024³ e chamado corretamente de gibibyte. Esses dois diferem em 7,4% — uma lacuna trivial numa conversa e consequente num campo de limite, porque limites são impostos com exatidão. A 4 GB, a diferença é 294.967.296 bytes: mais ou menos o tamanho de uma imagem de contêiner, sentada invisivelmente entre dois valores que os dois se leem como "quatro gigabytes" numa revisão.
Quase toda ferramenta que aceita um atalho de tamanho nessa escala lê ele em potências de 1.024. O Docker trata --memory=1g como 1.073.741.824 bytes; a JVM faz o mesmo com -Xmx1g e -Xms1g; o dd e o conjunto mais amplo de ferramentas GNU distinguem explicitamente, com G significando 1.024³ e GB significando 1.000³; sufixos de tamanho do nginx e do PHP são binários também. Um valor escrito 1G e um valor escrito 1000000000 ficam 73.741.824 bytes de distância um do outro em todos eles.
Vale declarar o padrão como regra geral em vez de memorizar ferramenta por ferramenta: um sufixo de letra única costuma ser binário, e um sufixo de duas letras terminando em B costuma ser decimal, onde a ferramenta se dá ao trabalho de fazer a distinção. Quando importa de verdade, o movimento seguro não é confiar na regra, mas definir o valor, lê-lo de volta do sistema em execução, e comparar o número relatado contra o número pretendido.
Dois elevado a trinta e dois é 4.294.967.296, e esse número é uma parede, não uma convenção. É o maior valor que um deslocamento de 32 bits sem sinal consegue guardar, então qualquer coisa que armazene um comprimento ou uma posição em 32 bits para ali. O exemplo mais conhecido é o FAT32, onde um arquivo único não pode passar de 4.294.967.295 bytes — um byte a menos — o que explica um vídeo de 5 GB não copiar para um cartão de memória direto de uma câmera.
O teto ainda aparece em lugares que parecem modernos. Formatos de arquivo mais antigos, alguns caminhos de upload, certos tipos de coluna de banco de dados e uma longa cauda de drivers e firmware carregam comprimentos de 32 bits, e cada um falha em algum ponto entre 4,29 GB e 4,30 GB, em vez de numa cifra decimal redonda. Quando um limite acaba sendo exatamente 4.294.967.296, ninguém escolheu ele, e aumentar isso não é uma mudança de configuração.
Interfaces que agem sobre tamanho em escala recebem bytes, porque bytes são inequívocos e porque a ação é automatizada. Regras de ciclo de vida de armazenamento de objetos filtram por tamanho de objeto em bytes; limites de memória de cgroup são valores em bytes; ferramentas de cota de disco trabalham em blocos ou bytes; limiares de alerta são comparações de bytes. Não existe etapa de arredondamento em lugar nenhum dessa cadeia, e um valor escrito 7,4% abaixo se comporta exatamente como se tivesse sido escolhido de propósito.
Esses valores também tendem a ser escritos uma vez e consultados por anos. Uma regra de ciclo de vida que move objetos acima de 128 GB para armazenamento mais frio vai continuar fazendo isso muito depois de quem escolheu o limiar ter mudado de time, e a diferença entre 128000000000 e 137438953472 vai silenciosamente mudar quais objetos se qualificam. Esse é um argumento para escrever a origem do número no momento em que a regra é criada, não para escolher um sistema em vez do outro.
Um manifesto de implantação rotineiramente especifica memória e armazenamento lado a lado, e as duas indústrias por trás desses números usam o prefixo de jeito diferente. Memória é endereçada em potências de dois, então um módulo vendido como 16 GB guarda 17.179.869.184 bytes, e não há alternativa decimal. Armazenamento é vendido por capacidade, então um volume vendido como 1 TB guarda exatamente 1.000.000.000.000. Escrito como "4 GB de memória, 100 GB de disco", essas são quantidades de duas convenções diferentes em linhas vizinhas.
Qual delas uma plataforma quer dizer para um campo específico é uma questão de documentação, não algo para adivinhar. Runtimes de contêiner e runtimes de linguagem geralmente entendem unidades binárias para memória; armazenamento em bloco, armazenamento de objetos e transferência de rede geralmente são decimais. Quando um limite está sendo definido perto de uma exigência observada, a diferença decide se existe folga, então vale confirmar por campo, não por plataforma.
Um limite de memória 7,4% menor do que pretendido não falha na implantação. Falha quando o processo chega ao topo da faixa de trabalho normal dele, o que acontece sob carga, num horário específico do dia, ou depois de um cache esquentar — e falha como um encerramento em vez de um erro, então os logs terminam no meio de uma frase sem exceção nenhuma para ler. Essa combinação é o que faz esse erro específico levar dias para ser encontrado em vez de minutos.
A defesa é comparar a intenção contra o sistema em execução, não contra o arquivo. Leia o limite de volta da plataforma depois de aplicar ele, em bytes, e confira contra o número que você pretendia. Um limite relatado como 1073741824 onde você escreveu 1000000000, ou o inverso, contou qual convenção o campo usa, permanentemente e para todo valor futuro.
Dez dígitos num arquivo de configuração são impossíveis de verificar de relance, e dez dígitos errados parecem exatamente com dez dígitos certos. Onde o formato é uma linguagem de verdade ou suporta aritmética, escreva 4 1024 3 ou 4 10 ** 9 e deixe a expressão carregar tanto o tamanho quanto o sistema. Onde só um literal é permitido, um comentário declarando o tamanho pretendido, a convenção e a ferramenta com que ele precisa concordar faz o mesmo trabalho.
Vale registrar também por que o número é o que é. Um limite de memória escolhido a partir de um perfil sob carga de pico e um limite escolhido porque era o próximo nível vão ser revisitados por motivos completamente diferentes, e um valor sem origem declarada tende a ser aumentado por reflexo ou tratado como intocável. Uma frase ao lado dele evita os dois resultados.
1 GB é 1000000000 B. A equivalência entre gigabyte e byte é 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 B é 1e-9 GB. É 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.