JavaScript Tutorials

Conversão de Bytes para Gigabytes em JavaScript

Spread the love

Compreender e converter entre bytes e gigabytes é crucial no desenvolvimento de software, especialmente ao lidar com tamanhos de arquivos, dados de rede e capacidade de armazenamento. No entanto, existe uma distinção crítica: o uso de sistemas decimais (base-10) versus binários (base-2). Este artigo esclarece a diferença e fornece funções JavaScript para ambas as conversões.

Sumário

Conversão Decimal (GB)

No sistema decimal, prefixos como quilo (k), mega (M) e giga (G) representam potências de 10. Portanto:

  • 1 kilobyte (KB) = 103 bytes = 1.000 bytes
  • 1 megabyte (MB) = 106 bytes = 1.000.000 bytes
  • 1 gigabyte (GB) = 109 bytes = 1.000.000.000 bytes

Para converter bytes para gigabytes (GB) em JavaScript, dividimos o número de bytes por 109:


function bytesToGigabytesDecimal(bytes) {
  if (bytes < 0) {
    throw new Error("Bytes não podem ser negativos.");
  }
  return bytes / Math.pow(10, 9);
}

// Exemplo de uso:
console.log(bytesToGigabytesDecimal(1000000000)); // Saída: 1
console.log(bytesToGigabytesDecimal(2500000000)); // Saída: 2.5
console.log(bytesToGigabytesDecimal(1073741824)); //Saída: 1.073741824

Conversão Binária (GiB)

Muitos fabricantes de hardware e sistemas de armazenamento usam o sistema binário, onde os prefixos representam potências de 2:

  • 1 kibibyte (KiB) = 210 bytes = 1024 bytes
  • 1 mebibyte (MiB) = 220 bytes = 1.048.576 bytes
  • 1 gibibyte (GiB) = 230 bytes = 1.073.741.824 bytes

A conversão para gibibytes (GiB) em JavaScript envolve a divisão por 230:


function bytesToGigabytesBinary(bytes) {
  if (bytes < 0) {
    throw new Error("Bytes não podem ser negativos.");
  }
  return bytes / Math.pow(2, 30);
}

// Exemplo de uso:
console.log(bytesToGigabytesBinary(1073741824)); // Saída: 1
console.log(bytesToGigabytesBinary(2147483648)); // Saída: 2
console.log(bytesToGigabytesBinary(5368709120)); // Saída: 5

Escolhendo o Método de Conversão Correto

A escolha entre a conversão decimal (GB) e binária (GiB) depende totalmente do contexto. Os sistemas operacionais geralmente relatam o espaço de armazenamento usando unidades binárias (GiB), enquanto as velocidades de rede podem ser expressas em unidades decimais (GB). Sempre verifique as especificações e a documentação para determinar a base apropriada.

Usar as unidades corretas é essencial para cálculos precisos e comunicação clara. A falha em distinguir entre GB e GiB pode levar a mal-entendidos significativos, particularmente ao lidar com grandes conjuntos de dados.

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *