É verdade que 1 MB pode significar 1000000 bytes, 1024000 bytes ou 1048576 bytes? [duplicado]

59

Se 1 KB (kilobyte) pode significar 1000 bytes ou 1024 bytes,

E 1 MB (megabyte) pode significar 1000 KB ou 1024 KB,

Isso não significa que 1 MB pode significar qualquer um dos quatro abaixo? :

  1. 1000 × 1000 = 1000000 bytes

  2. 1000 × 1024 = 1024000 bytes

  3. 1024 × 1000 = 1024000 bytes

  4. 1024 × 1024 = 1048576 bytes

Ou é 2. e 3. não é aceito, então 1 MB poderia significar apenas 1000000 bytes de 1048576 bytes?

    
por Pacerier 01.01.2012 / 17:23

7 respostas

102

Primeiro, existem dois tipos de prefixo quando se fala em informação digital (read bytes ): Prefixos SI e prefixos binários .

Prefixos do SI

Os prefixos do SI são potências de 1.000 (1.000 1 , 1.000 2 , 1.000 3 , etc.):

  • 1 kB = 1 kilobyte = 1.000 1 bytes = 1.000 bytes;
  • 1 MB = 1 megabyte = 1.000 2 bytes = 1.000.000 bytes;
  • 1 GB = 1 gigabyte = 1.000 3 bytes = 1.000.000.000 bytes;
  • e assim por diante .

Como você pode ver, apenas os símbolos SI mega e acima são colocados em maiúsculas. Portanto, KB não é um prefixo válido .

Prefixos binários

Prefixos binários são potências de 1.024 (1.024 1 , 1.024 2 , 1.024 3 , etc.):

  • 1 KiB = 1 kibibyte = 1.024 1 bytes = 1.024 bytes;
  • 1 MiB = 1 mebibyte = 1.024 2 bytes = 1.048.576 bytes;
  • 1 GiB = 1 gibibyte = 1.024 3 bytes = 1.073.741.824 bytes;
  • e assim por diante .

Como você pode ver aqui, todo símbolo binário é capitalizado e um minúsculo i é adicionado antes do símbolo B para indicar que estamos falando de kibibytes em vez de kilobytes, mebibytes em vez de megabytes, etc.

No entanto , os prefixos binários não são amplamente utilizados, o Windows não os utiliza de todo.

O que acontece aqui é que o Windows nos diz que a unidade de disco rígido tem uma capacidade de 300.066.795.520 bytes que, de acordo com o Windows, é igual a 279 GB. No entanto, sabemos que, se 1.000.000.000 bytes = 1 GB, 300,066,795,520 bytes = ~ 300 GB = ~ 279,5 GiB .

Portanto, se você ver 1 KB (que está errado, lembre-se) ou 1 MB, suponha que estamos falando de 1 kibibyte e 1 mebibyte respectivamente. Kb , kb , Gb , gb , etc. também são frequentes, apesar de representarem bits (8 bits = 1 byte).

Em suma , em nenhum caso 1 KB ou 1 MB podem ter vários valores, mesmo que o (mau) uso pareça dizer o contrário.

    
por 01.01.2012 / 18:59
13

O kilobyte é uma medida de base 10, então 1 kilobyte = 10 à potência de 3 = 1000 bytes.

Embora isso não seja exato para medir exatamente os dados físicos, eles são armazenados em binário, que é medido na base 2, e, portanto, o O kibibyte foi estabelecido em 1999 para substituir o kilobyte quando usado no contexto da ciência da computação para significar 1024 bytes.

Kibibyte é uma medida de base 2, então 1 kibibyte = 2 à potência de 10 = 1024 bytes.

O mesmo se aplica ao megabyte (1 megabyte = 10 à potência de 6 = 1000000 bytes), cuja medição da base 2 é mebibyte (1 mebibyte = 2 à potência de 20 = 1048576 bytes)

  • (1) aplica-se a megabytes
  • (2) e (3) não é aceito
  • (4) aplica-se ao mebibyte
por 01.01.2012 / 17:45
9

Atualmente, o uso de "KB", "MB", etc. significa algo diferente de 1000 bytes, 1000 x 1000 bytes, etc. e ao contrário da maioria dos padrões oficiais. A nova maneira de expressar 1024 bytes, 1024 x 1024 bytes, etc. é Kib (kibibyte), MiB (mebibyte), etc. É uma bagunça, e o contexto é essencial para entender o que se entende. Consulte o link para uma discussão sobre essas questões.

    
por 01.01.2012 / 17:48
7

Provavelmente não, porque seria uso inconsistente dos prefixos dentro de um único número .

Embora o prefixo SI k represente 1000, mas em TI costuma ser usado para significar 1024 (com alguns defendendo prefixos binários ), não faz sentido alternar entre esses significados no mesmo número .

    
por 01.01.2012 / 17:38
3

Você está correto em sua pergunta. 1 e 4 estão corretos, 2 e 3 não estão.

Basicamente, você define o "mil", que é ou 1000 ou 1024 e usa isso para as multiplicações. Eles não são trocados.

Na base dois (binário), o mais próximo que você pode chegar a 1000 é 1024 (2 ^ 10). É assim que os computadores realmente pensam sobre as coisas, portanto, na memória (RAM), por exemplo, 1MB seria 1048576 bytes.

Na base 10, no entanto, você pode realmente ter 1000. As unidades de disco funcionam assim e em um HDD, geralmente 1MB será de 1000000 bytes (embora o estado sólido funcione em binário).

Basicamente, é apenas o fato de que o computador e o dispositivo de armazenamento geralmente funcionam de maneira um pouco diferente, então existem diferentes definições para a mesma coisa.

    
por 01.01.2012 / 18:55
1

Então, aqui está o acordo. (A maioria dos) computadores de hoje operam na base 2, não na base 10. (Sim, eu sei que existem exceções , mas eles realmente são casos excepcionais.) Para nossa (sua ), todos os computadores de uso geral (e certamente todos os computadores de uso geral que usam o consumidor) usam a base 2 para todo o processamento interno. A unidade fundamental é um bit que pode ser zero ou um. Oito destes juntos formam um byte; 16 uma palavra. Agora, isso é em geral ... computadores de 32 bits geralmente são considerados como usando "palavras" de 32 bits, computadores de 64 bits, palavras de 64 bits e assim por diante. Você percebeu? Estas são todas potências de 2 . Um computador com um "K" ou kilobyte de memória sempre terá 1024 bytes de memória. Um megabyte de memória sempre significará 1024 x 1024 bytes. Novamente, todos são potências de 2. Portanto, um computador com 64 MB de memória sempre terá 64 x 1024 x 1024 bytes. Quando você vê computadores anunciados para venda, a capacidade de memória (RAM) será sempre baseada em potências de 2. Você nunca verá uma placa de vídeo, por exemplo, reivindicando 1GB de RAM para significar um bilhão de bytes.

Onde a confusão foi introduzida, e o que deixa as pessoas malucas, é quando os fabricantes de discos, em sua busca por drives cada vez maiores, disseram: "Ei! Você sabe, em outras áreas (não computadores), um K é 1000 e um M é 1.000.000 ". Se alguns caras estivessem discutindo o preço de venda de um carro, por exemplo, e um sugerisse, "Eu acho que '8K' soa bem", o outro automaticamente entenderia que "8K" significava $ 8.000 (não $ 8.192). Assim, os fabricantes de unidades de disco disseram: "Vamos começar a anunciar nossos produtos usando essas medidas para que eles soem maiores". Mas os caras legais intervieram e disseram: "Espere um minuto aqui. Praticamente todo mundo que, você sabe, realmente trabalha com computadores e entende como eles funcionam vai chorar " Ao que aqueles caras espertos de publicidade responderam: "Sem problema. Bem, basta colocar um pequeno asterisco ao lado da capacidade na caixa e em nossa documentação que diz algo como '* 1GB = 1,000,000,000 bytes'. Problema resolvido."

Então aqui estamos nós, com toda essa confusão. Citando o artigo da wiki acima, referenciado por @kreemoweet,

In most cases, the kilobyte continues to be used to refer to a power of ten as well as a power of two.

E a confusão continua. Para fins práticos, provavelmente você deve assumir que as capacidades de disco são baseadas em 10 unidades de medida de base. Da mesma forma, as capacidades de RAM (provavelmente) sempre serão baseadas em unidades de base 2. Para outros tipos de dispositivos e produtos, isso provavelmente dependerá da tecnologia subjacente e do que a equipe de publicidade acha que pode se dar bem. Afinal, quanto maior, melhor, não é?

Para algumas leituras adicionais, você pode ler a Linha do tempo dos prefixos binários . Isso não tornará as coisas mais claras, mas é uma leitura divertida.

    
por 01.01.2012 / 19:04
0

Sim, como é um desastre sintático. Este artigo da Wiki explica o problema e inclui uma tabela das "novas" palavras a serem usadas. Aqui no mundo real, ninguém usa esses termos. Você precisa usar o contexto para determinar a definição que está procurando.

    
por 01.01.2012 / 18:37

Tags