13 de janeiro de 2011

As "não tão novas" unidades binárias

Faz um tempo, recebi uma mensagem indignada de um leitor “passante” mais atento do Siris Games, perguntando por que eu estou escrevendo as informações de forma errada no site. Isso porque quando indico o tamanho de um H.D. ou da memória, eu uso “KiB”, “MiB” ou “GiB”, com um i minúsculo no meio das outras letras, enquanto o certo é como no “Windows”, ou seja, “KB”, “MB” e “GB”.
Nossa! Como pude cometer tal engano? Escrever uma unidade tão importante assim, de forma errada? Será que é problema do meu teclado? Ou algum surto psicótico na hora de escrever as unidades?
Claro que não é nada disso! Quem está atento à evolução da espécie (Viva Darwin! ) e acompanha o desenrolar do mundo moderno, sabe que as unidades de medida da informação digital mudaram, e faz tempo...

O Sistema Internacional
Isso é história para “Bill” dormir, mas vamos lá!
Na era paleolítica da história dos computadores, quando os dinossauros de 8 bits como Sinclair , MSX e Apple-II reinavam absolutos sobre a face da terra, os técnicos, engenheiros, nerds e encrenqueiros precisaram diminuir a quantidade de algarismos para representar valores em bits e bytes muito grandes.
Sim! Precisavam de múltiplos!
Como não haviam grandes valores na época, eles decidiram usar as unidades do SISistema Internacional – adaptando-as às suas necessidades. Assim surgiu o kilobyte quilobyte, o megabyte e até o gigabyte.

Os micros da época tinham em média, assustadores 32.768 bytes de memória e se conectava à Internet a 16.384 bits por segundo, números grandes e difíceis de lembrar. Assim decidiram usar 32 quilobytes ou 32 KB para a memória e 16 quilobits por segundo ou 16 Kbps para representar esses valores de forma mais “nerd”.

Porém, na hora da “conversão” para os valores corretos eles quebravam a norma do SI e em vez de usar 1.000 para "quilo", como em quilômetros e quilogramas, eles usavam "1024". Isso porque no sistema binário, a potência de 2 (dois de binário, tá?) mais próxima de 1000 ou 103 é 1024 ou 210.

Como eram nerds, a coisa não importava muito e o SI “decimal” acabou pegando e perdurando até hoje, mesmo com seus erros aproximados e sua falta de padrão.

Mas as coisas começaram a se complicar quando as espécies de 8 bits entraram em processo de extinção – dizem que foi por causa de um grande meteoro (ou seria bolha) chamado Internet que se chocou contra Terra! - e os “bichos” de 16, 32 e 64 bits começaram a surgir. Neste momento, os números ficaram tão grandes que os erros de conversão causados pelo “quilo”, “mega” e o novíssimo “giga” eram assustadores.

Quer um exemplo? Olha a janela de propriedades do H.D. do meu PC, vista no Windows Vista:


Notaram? O Windows usa dois valores bem diferentes para informar o tamanho do meu H.D.! Que confusão! Em qual deles acredito? Qual está certo? Resposta: os dois estão corretos se usarmos os múltiplos S.I. para o sistema de numeração decimal!

Além dessas esquisitices, problemas mais sérios como empresas com contratos de concessão de banda para links de comunicações e sistemas de armazenamento de dados de grande porte sofreram processos e críticas. Isso levou o IEC - International Electrotechnical Commission – órgão responsável pela padronização dos meios digitais e intercâmbio de informações a criar uma norma que corrigisse o problema.

Eis então que em 1986 surgem o “kibi”, o “mebi” e o “gibi” onde o “ki”, o “mi” e o “gi” significam “quilo”, “mega” e “giga” como antes, mas o “bi” vem de “binary”.

A nova nomenclatura teve diversas revisões ao longo do tempo e da evolução/mutação das espécies e hoje o padrão adotado oficialmente é o ISO-IEC 80000-13 que entrou em vigor em 2006.

Por essa “não tão nova assim” convenção, as palavras binárias, conjuntos de um ou mais bits que representam uma informação binária padronizada, foram estabelecidas como:

PalavraTamanhoNota
bit1 bitbinary digit
nibble4 bits
byte8 bits
word16 bits
Dword32 bitsdouble word
Qword64 bitsquad word
DQWord ou Oword128 bitsoctuple Word
Palavras binárias padronizadas.

E os múltiplos binários devem ser representados usando as novas unidades. Veja a tabela abaixo:

ISO - IEC (correto)SI (errado)
NomeSímboloMúltiploNomeSímboloMúltiplo
byteB20byteB100
kibibyteKiB210quilobyteKB103
mebibyteMiB220megabyteMB106
gibibyteGiB230gigabyteGB109
tebibyteTiB240terabyteTB1012
pebibytePiB250petabytePB1015
exbibyteEiB260exabyteEB1018
zebibyteZiB270zettabyteZB1021
yobibyteYiB280yottabyteYB1024

Assim, 1 kibibyte (1 KiB) = 1.024 bytes e 1 mebibyte (MiB) = 1.048.576 bytes, enquanto que 1 quilobyte (KB) = 1.000 bytes e 1 megabyte (1 MB) = 1.000.000 bytes.

Fazendo as contas agora, teremos:

UnidadeSímboloPotênciaValor
kibiKi2101.024
mebiMi2201.048.576
gibiGi2301.073.741.824
tebiTi2401.099.511.627.776
pebiPi2501.125.899.906.842.624
exbiEi2601.152.921.504.606.846.976
zebiZi2701.180.591.620.717.411.303.424
yobiYi2801.208.925.819.614.629.174.706.176

Então porque não usamos essa nova nomenclatura ainda?
Não sei você, mas eu uso faz bastante tempo!
Realmente, não sei responder com certeza, mas acho que tem muita falta de informação, falta de atualização das instituições de ensino, muita preguiça, interesses econômicos como o dos fabricantes de HDs de 500 GB que na verdade são de 478 GiB e falta de normalização a lerdeza por parte do nosso governo e das agências que cuidam dos padrões no Brasil como a ABNT e suas NRs.

Lembro que essa nomenclatura não é padronizada pelo SI, já que eles não têm nenhum documento padronizando esse formato, mas em se tratando de informação digital, quem “dita” as regras é a ISO, o IEC e o IEEE e todos esses organismos padronizaram e recomendam o uso da nova nomenclatura para sistemas digitais e tem representação oficial no Brasil.

Muitos países já fixaram regras adotando o novo formato, mas como sempre, as coisas por aqui vão demorar, demorar, demorar ...

Mas quando as empresas e usuários começarem a processar a Telemar OI, tirando alguns milhões deles por informações incorretas nos contratos e limitação incorreta de banda, o governo vai acordar e fazer tudo “nas coxas”, para o bem da Telemar população!

Enquanto isso, como eu sou “moderninho” e meus sites são “internacionais” , vou usar a nomenclatura correta, ou pelo menos tentar!!!

Dúvidas? Comente!

Esta é uma edição revisada, ampliada e atualizada. A versão anterior não está mais disponível na Internet.

0 comentários neste post

Postar um comentário

Atenção comentarista!
  • Todos os comentários serão rigidamente moderados;
  • Identifique-se! Comentários anônimos não são recomendados;
  • Comentários com três ou mais links serão removidos;
  • Comentários escritos em miguxês ou excesso de gírias serão removidos;
  • Comentários escritos com predominância de maiúsculas serão removidos;
  • Por favor, prove que você é coerente, educado e bem informado: conheça o restante do site, saiba quem somos, sobre o que, para quem e como escrevemos antes de comentar futilidades;
  • Respeite as opiniões dos autores e dos outros comentaristas. Seja breve e sem ofensas;
  • Escreva comentários relevantes e que contribuam de alguma forma para o bem da humanidade;
  • Não seja um inútil social. Lembre-se que o mundo não gira ao seu redor.