[Meu Micro Pifou] KB, KiB, Kb, Kib, KBps, KiBps, Kbps, Kibps – Você Sabe Diferenciar? PARTE I
terça-feira, junho 30, 2009 8:04Gustavo 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.
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.
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:
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:
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/
























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.
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.
[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/ [...]
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!
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…
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!