[Meu Micro Pifou] KB, KiB, Kb, Kib, KBps, KiBps, Kbps, Kibps – Você Sabe Diferenciar? PARTE I

terça-feira, junho 30, 2009 8:04

Gustavo Canedo (gknedo), técnico em manutenção de micros, blogueiro do Blog do Canedo, membro participativo do Guia do Hardware e “advogado” da Microsoft.

Você já reparou que quando compramos um HD de X gigabytes o sistema operacional não reconhece todo o espaço do HD? Não importa o quão atualizados o seu sitema e drivers estão, não importa a qualidade do seu hardware, o sistema operacional nunca irá reconhecer a mesma quantidade de gigabytes que a fabricante do HD anuncia. Exemplificando: no meu HD se tem impresso a informação “750GB”, mas meu sistema só reconhece 698GB. Você sabe o por quê isto ocorre? Você sabe onde o sistema enfiou os 52GB dessa diferença?

Outra diferença de quantidade interessante é quando contratamos um provedor de internet, tenho um plano de 320 kb/s, mas meus downloads nunca passam de 30KB/s, essa diferença toda foi parar aonde?

Nesta série, que está dividida em 2 posts, explico estes transtornos que ocorrem devido as muitas unidades de medida que são usadas no mundo digital.

bit Primeiro devemos iniciar pelo conceito de byte. 1 byte é uma unidade de medida formada por 8 bits. O bit pode assumir apenas dois valores, “Aceso” (transcrito como “1”) ou “Apagado” (transcrito como “0”), estes “Acesos” e “Apagados” correspondem aos sinais elétricos positivos e negativos respectivamente. Por poder assumir apenas dois valores o computador não opera com um sistema decimal (0, 1, 2, 3, 4, 5, 6, 7, 8 e 9) e sim com um sistema binário (0 e 1). Não se preocupe em aprender o conceito de bit agora, ele é explicado em detalhes no próximo tópico desta série. O importante a saber sobre bits para entender este post é que qualquer caractere no computador é formado por 8 bits, por este motivo, convencionou-se que 8 bits seria equivalente a 1 byte.

Agora é a hora de você me perguntar “Mas o que a forma de trabalhar de um processador tem a ver com a perda de 7% da capacidade do meu computador?”

A resposta é que, pela forma de fazer conta de uma processador, ele é muito mais rápido em fazer contas com potências de base 2 (2, 4, 8, 16 , 32, 64, 128). Isso explica, entre muitas outras coisas, o porque você não irá ver memórias de 100, 200, 300, 400MB, elas sempre terão 128 (2^7), 256 (2^8), 512 (2^9)… Esta “mania por base 2” também ocorreu com os derivados do byte, como o kilobyte, megabyte, etc. Então, 1 kilobyte não é equivalente a 1000 bytes, e sim a 1024 bytes, pois 1024 é a potência de base 2 mais próximo de 1000 (1024 = 2^10).

Mas como disse anteriormente, o uso de potências de base 2 era interessante para usuários e fabricantes de chips. Na fabricação de um HD, se o valor do kilobyte estivesse expresso em potências de base 2 ou no “padrão mil” faria pouca diferença. Ou melhor, iria fazer uma grande diferença, pois como nos primórdios da informática produzir 1 byte de armazenamento a mais era estupidamente caro, produzir 24 bytes a mais então seria pornograficamente caro, então os fabricantes de HD resolveram mudar o valor do “kilo”, “mega”, “giga” para o “padrão mil”. Assim sendo, desde o início da era computacional, os sistemas operacionais, memórias, processador, reconhecem 1 kilobyte como 1024 bytes, e 1 kilobyte equivale a 1000 bytes para a industria de HDs.

Agora imagine a confusão formada com essa diferença de padrões. Um usuário leigo seria “enganado” facilmente. Então o Sistema Internacional de Unidades (SI) entrou em ação para tentar padronizar a medida. A lógica para a padronização da unidade usada pelo SI foi de que se 1 kilograma tem 1000 gramas, 1 kilômetro tem 1000 metros, então 1 kilobyte tem de ter 1000 bytes, oficializando o “padrão mil” (da indústria de HDs)! Mas tentando agradas gregos e troianos, foi criado um pradrão de medida especial para potências de base 2, como o kibibyte (contração de kilo binary byte). Onde 1 kibibyte é equivalente a 1024 bytes. Esse padrão de binary bytes também é usado com megas, gigas, teras… formando as unidades mebi, gibi, tebi.

Algo que é importante de tomar nota são as abreviações. Para abreviarmos “Mebibyte”, pegamos a abreviação de Megabyte (MB) e adicionamos um “i” minúsculo no meio, ficando KiB, MiB, GiB, TiB.

bits2 Mas como tudo na vida não é um mar de rosas, para complicar um pouco, os sistemas operacionais e programas não foram com a cara do kibibyte e seus derivados e mandaram o Sistema Internacional pra… e continuaram usando kilo, mega, giga, e equivalentes para a quantidade de 1024. O resultado final é que os fabricantes de HD expressam a capacidade de seus HDs em kilo, mega, giga e derivados. Já os sistemas operacionais expressam a capacidade dos HDs em kibi, mebi, gibi e derivados mas chamam os kibi de kilo, mebi de mega, gibi, de giga, etc.

Se fôssemos utilizar a nomenclatura oficial, o nosso sistema operacional não iria utilizar o Gigabyte para a medição da capacidade de armazenamento do HD e sim o Gibibyte. Ou seja, comprando um HD de 750GB, teríamos 698GiB de armazenamento. Fazer a transformação de unidades decimais para unidades binárias é simples, basta multiplicarmos o valor original por uma certa porcentagem, tomando nota de que, para transformarmos 1KB em KiB utilizamos uma porcentagem, para transformarmos 1MB em 1MiB utilizaremos outra porcentagem. Quanto maior a unidade de medida, maior será a diferença da porcentagem utilizada na conta da transformação. Para facilitar a sua vida, montei duas tabelas:

kbkib

Utilizar esta tabela é simples, para transformar um valor de Giga para Gibi (GB –> GiB), pegamos o valor em GB (750 no caso do meu HD), e multiplicamos pelo porcentagem da tabela, no meu caso seria 750 x 93,132%, que é igual a 698,49GiB (que é o valor aproximado que o sistema operacional me fornece).

Algo importante que você deve saber é que para transformações da unidade de medida binária para a decimal não utilizamos o valor descrito acima, isto se deve ao “problema da porcentagem”. O problema da porcentagem pode ser resumido da seguinte forma: Se pegarmos “10” unidades, retirarmos metade (50%) e depois aumentarmos a metade (50%) do que temos, qual será o valor final? 10? Errado, a resposta correta é 7,5, pois retiramos 50% de 10 (que é 5), e adicionamos 50% do resultado parcial 5 (que é 2,5). Algo parecido ocorre com estas transformações, portanto, para transformarmos uma unidade de medida binária em uma unidade decimal, temos que utilizar a seguinte tabela:

kibkb

Para calcularmos a transformação, basta seguir os mesmos passos da operação anterior, para descobrirmos o valor em GB de um HD de 698,49GiB, vamos multiplicar 698,49 por 107,374%, que resulta em 749,99GB.

Essa diferença de 0,01GB que apareceu na conta se deve ao fato de eu ter “arredondado” a porcentagem antes de realizar a conta, utilizei 93,132% ao invés de 93,1322574615478% (que é o valor correto) e utilizei 107,374% ao invés de 107,3741824. Mas podem perceber que a diferença de valores no final, ao utilizarmos somente 3 casas decimais na multiplicação é mínima, então não se preocupe em ter que escrever número gigantescos, simplesmente arredonde ^^.

A primeira parte de minha explicação termina por aqui, no segundo e último post desta série sobre as unidades de medidas da era digital, aprofundaremos no estudo do bit, aprendendo a fazer a conversão decimal <–> binário e explicarei como é medida a velocidade da sua internet.

Imagens:
http://acaotecnologica.wordpress.com

http://bitaytes.com

Referências:
http://infowester.com/

Você pode comentár este artigo, ou fazer uma trackback para o seu site.

6 Comentários to “[Meu Micro Pifou] KB, KiB, Kb, Kib, KBps, KiBps, Kbps, Kibps – Você Sabe Diferenciar? PARTE I”

  1. Samuel Varela - Crato-CE escreveu:

    30 de junho de 2009 as 10:54

    Excelente artigo. Eu tinha algumas duvidas sobre esse assunto, sobre essa diferença entre essas nomeclaturas.
    Parabéns pelo ótimo trabalho.
    Vou até imprimir para dar uma olhada melhor depois.

  2. Vericcimo escreveu:

    30 de junho de 2009 as 19:47

    Muito bom o texto, eu já sabia que fabricantes e sistemas operacionais não falavam a mesma lingua, só não sabia deste sistema de medidas, pra mim era uma coisa extra oficial, pra ganhar ualguns bytes a mais na hora de divulgar a capacidade dos HDs.

  3. [Meu Micro Pifou] KB, KiB, Kb, Kib, KBps, KiBps, Kbps, Kibps – Você Sabe Diferenciar? PARTE II | Aperte F5 escreveu:

    3 de julho de 2009 as 8:06

    [...] Bem galera, este é o segundo e último post da série sobre as confusas unidades de medida do mundo digital atual, nele você irá aprender o essencial sobre o bit, como fazer conversões entre decimal <-> binário e descobrirá os últimos segredos dos bits e bytes. Para que você consiga compreender todos os conceitos utilizados neste post, talvez necessite de ler o primeiro post da série, que pode ser acessado pelo link: http://apertef5.com.br/hardware/meu-micro-pifou-kb-kib-kbit-e-kibit-voice-sabe-diferenciar/ [...]

  4. Marcos Araujo 19 anos - Guarulhos escreveu:

    3 de julho de 2009 as 18:17

    FICOU ÓTIMO OS DOIS POSTS SOBRE ISSO,GOSTEI MUITO E MERECE UM PODCAST SOBRE ESSES DOIS POSTS,JÁ FALEI PARA O RAFA ISSO.Com certeza vou ler seu próximo post e post sobre placas de video também ficou bom!

  5. Gustavo Canedo escreveu:

    6 de julho de 2009 as 8:33

    Opa Marcos! Assim eu fico até com vergonha…
    Agradeço a todos que estão perdendo um pouco do seu tempo lendo meus posts… isto só faz me ter mais vontade de escrever melhor…

    Post de amanhã (07/07) é sobre os melhores programas que devemos instalar depois de uma formatação… Tem uma ótima lista e espero que seja útil…

    Agora deixem-me ir que tenho que tenho que ensaiar…

  6. Elias de Souza escreveu:

    25 de dezembro de 2009 as 11:41

    acabei de fazer um curso de informatica e ainda tó tentando entender alguns sistemas de medida uzado em informatica, e esse artigo vai me esclarecer algumas duvidas ;gostei muito desse altigo!

Escreva seu comentário: