Sítio do Piropo

B. Piropo

Assunto Referente :
Volte
1997
Múltiplos do Byte
Referente a: PC@World

A unidade de armazenamento de informação utilizada para exprimir a capacidade das memórias e dos meios de armazenamento de massa de nossos micros (discos, fitas magnéticas, CD-ROMs, Tc) é o byte, uma quantidade que pode variar entre zero e 255 e que é expressa no sistema numérico binário por oito algarismos (ou "dígitos") binários, ou bits.

O byte não tem submúltiplos (na verdade, há o nibble, que é a quantidade que pode ser expressa por quatro bits, e o bit propriamente dito, mas tecnicamente tanto o nibble quanto o bit não são submúltiplos, mas componentes do byte). Mas, em compensação, tem múltiplos.

A dificuldade surge quando se exprime estes múltiplos baseados na nomenclatura adotada para o sistema decimal. E esta é justamente a fonte do problema: tendo sido desenvolvida para o sistema decimal, ela se baseia em múltiplos da base dez, não da base dois. Vejamos o exemplo mais simples para ilustrar: o do quilobyte, ou kb.

O prefixo "quilo" (originalmente kilo, razão pela qual costuma ser abreviado com a letra "k") deriva do grego e significa "mil". Na base dez, tudo corre bem: um quilômetro são mil metros, um quilograma mil gramas, e numericamente são expressos (na base dez) por 1km=1.000m e 1kg=1.000g, respectivamente.

Agora, vejamos o byte. Façamos, em princípio, o quilobyte (kb) valer exatamente mil bytes. Ele seria, então, expresso (na base dez) por 1kb=1.000bytes. Ora, mas no interior de nossos micros, a base dez simplesmente não existe. Lá, impera a base dois. Então, ainda supondo que 1kb seja igual a mil bytes, exprimamos este mesmo kb no sistema binário, ou na base dois. O resultado será: 1kb=1011101000bytes (na base dois). Um número um tanto "quebrado" para poder ser considerado um múltiplo, não acha? Afinal, todo múltiplo que se preza tem que ter o algarismo de ordem mais alta igual à unidade e os demais iguais a zero. E isto na base em que ele é normalmente expresso, que no caso dos bytes é a base dois.

Pois a solução encontrada para "casar" os dois métodos - a nomenclatura usada na base dez, com que estamos acostumados, e o sistema numérico de base dois, no qual são expressos os bytes - foi fazer com que o kb seja igual ao número mais próximo de mil que satisfaça à condição de múltiplo quando expresso na base dois. E este número é 1.024 (na base dez), que corresponde a dois elevado à décima potência e que é expresso por 10000000000 (na base dois). Esse, sim, um número com "cara" de múltiplo.

Portanto, 1kb é igual a 1.024 bytes (na base dez). Ou seja, não é mil bytes, como seria de esperar, mas é um número bastante próximo disto. E para que os múltiplos de maior ordem também não ficassem "quebrados", adotou-se 1.024 (na base dez) como multiplicador. Por isto, o múltiplo seguinte, o Mb (megabyte), que corresponde ao quadrado do kb (1kb x 1kb), não é exatamente um milhão de bytes, mas algo próximo disto. Pois na nossa escala particular de múltiplos do byte ele corresponde 1kb x 1kb, ou seja, 1.024 x 1.024 (em decimal), cujo resultado é 1.048.576 bytes (também em decimal). Um número que parece um tanto "quebrado" quando expresso em decimal, mas que fica redondíssimo se expresso em binário, pois como vale dois elevado à vigésima potência é expresso pelo algarismo um seguido de vinte zeros.

Isto posto, vamos à nossa tabela de múltiplos do byte.

Nome Abreviação Valor (número de bytes, na base dez)
byte B 1
quilobyte kb 1024
megabyte Mb 1.048.576
gigabyte Gb 1.073.741.824
terabyte Tb 1024 x 1Gb
petabyte Pb 1,024 x 1Tb
exabyte Eb 1.024 x 1Pb

Finalmente, um complicador a mais: alguns (mas não todos os) fabricantes de discos rígidos, visando impressionar a freguesia com números maiores, decidiram adotar o sistema decimal para exprimir a capacidade de seus discos. Por isto, quando você comprar um disco rígido de, digamos, 1Gb, tanto ele pode armazenar 1.073.741.824 bytes, o que seria o correto, quanto apenas um bilhão de bytes (se o fabricante decidiu exprimir sua capacidade no sistema decimal, onde o prefixo Giga representa um bilhão). Uma diferença nada desprezível de quase 70Mb. Mas isto são coisas do mercado, que não há ciência que explique.

B. Piropo