04/01/2012

Potências em base decimal, base binária e o byte

As unidades de memória dos computadores são amplamente conhecidas hoje em dia. O uso de termos como megabytes ou gigabytes para se referir à capacidade de memória de dispositivos como HD, memórias ou Pendrives está muito comum no cotidiano do mundo da informática. Contudo, o significado do termo byte e de seus múltiplos pode causar muitas confusões.
potencias-em-base-decimal-base-binaria-e-o-byte
Na Ciência da Computação, o byte é a unidade de armazenamento de memória no computador. Um byte é constituído por $8$ bits. O bit (binary digit, ou dígito binário) é a menor unidade lógica de armazenamento de informação em um computador. O valor de um bit é determinado pelo estado de um dispositivo eletrônico interno do computador, chamado capacitor. Capacitor é um dispositivo eletrônico capaz de armazenar energia em um campo elétrico. Ele pode ser usado para representar informação de forma binária, podendo assumir somente dois valores: $0$ (quando está desligado ou descarregado) e $1$ (quando está ligado ou carregado). Por esta razão, as informações em um computador estão codificadas em uma base de numeração binária, e não decimal.

Há duas décadas, a memória dos computadores pessoais raramente ultrapassava algumas dezenas de quilobytes $(KB)$. Alguns estudiosos notaram que o termo quilobyte tinha duas interpretações distintas. Segundo o $S.I.$ (Sistema Internacional de Medidas), o prefixo quilo $(k)$ corresponde a $1.000$ unidades. Assim, um quilobyte $(1 KB)$, segundo o $S.I.$ corresponderia a $1.000$ ou $10^3$ bytes. Por outro lado, tomando-se como referência a base binária de armazenamento de informação no computador, um quilobyte corresponderia a $2^{10}$ bytes. A diferença relativa entre as duas interpretações para o valor de um quilobyte era pequena $(2,4\%)$ e não ocasionaria maiores problemas na época.

Contudo, com a rápida ampliação da capacidade de memória dos computadores, novas unidades de medidas tiveram que ser adotadas, tais como megabytes, o gigabyte e o terabyte. A diferença relativa entre o sistema binário e o Sistema Internacional aumentou, gerando uma discrepância significativa no valor dessas unidades. Um gigabyte, no $S.I.$ corresponde a $1.000.000.000$ ou $10^9$ bytes. No sistema binário, um gigabyte corresponde a $2^{30}$ bytes, ou $1.073.741.824$ bytes, um número $7,4\%$ maior que o seu correspondente no $S.I.$. No caso do terabyte, essa diferença chega a aproximadamente $10\%$.

Nos dias de hoje, há muita confusão sobre o real significado desses termos. Muitos fabricantes de memória adotam a base decimal na configuração de suas memórias devido à facilidade de compreensão por parte do usuário. Contudo, a maioria dos sistemas operacionais adota o sistema binário, o que gera uma discrepância entre a capacidade de memória declarada pelo fabricante e as medidas registradas nos sistemas operacionais.

O Bureau Internacional de Pesos e Medidas $(BIPM)$, um dos órgãos responsáveis pela regulação do $S.I.$, declara que os prefixos do Sistema Internacional de Medidas referem-se exclusivamente às potências de dez, e não devem ser usados para representar bases binárias, como no caso do quilobyte. Em $2005$, a Comissão Eletrotécnica Internacional $(IEC)$ criou um sistema de unidades específicas para o uso no campo das tecnologias de informação e processamento de dados, tendo como base o sistema binário. Foram definidos novos prefixos para designar os múltiplos das unidades de medida relacionadas à memória dos computadores. Nesse novo sistema, $2^{20}$ bytes passam a ser designados como mebibyte, e não mais como megabyte, que representam $10^6$ bytes no $S.I.$. O prefixo mega foi substituído por mebi, em que bi é a abreviação de binário.

Na tabela a seguir é possível comparar as unidades do sistema decimal $(S.I.)$ com os do sistema binário.


[Tabela 1]

Uma informação pode ser codificada a partir de uma combinação de bits. A tabela logo abaixo mostra a codificação dos algarismos de $0$ a $7$ por meio da combinação de três bits. Na primeira coluna da tabela estão representados os estados dos capacitores da seguinte forma: $0$ para desligado e $1$ para ligado. A segunda coluna representa o número binário em relação às configurações dos capacitores, que obedecerá o mesmo padrão. Por se tratar de três bits, o número binário. Na terceira coluna encontra-se o número correspondente no sistema decimal associado à configuração dos capacitores e ao número binário.


[Tabela 2]

Utilizando $3$ bits, foi possível armazenar $8$ informações diferentes. No exemplo da tabela, foram representados os oito números de $0$ a $7$. O número $5$, por exemplo, foi representado pelo número $101$, enquanto o número $7$ foi representado pelo número $111$. Utilizando apenas os algarismos $0$ e $1$, e as três casas, não é possível representar nenhuma outra informação. Para representar mais números, seriam necessários mais bits.

Se cada bit só pode assumir dois valores, o número total de informações que podem ser armazenados com $3$ bits é dado por: 
\begin{equation*}
2 \cdot 2 \cdot 2 = 2^3
\end{equation*}
Portanto, com $4$ bits pode-se armazenar $2^4$ ou $16$ informações. Com $5$ bits, $2^5$ ou $32$ informações e assim por diante. Com $n$ bits é possível armazenar $2^n$ informações.


[Tabela 3]

A mesma situação pode ser descrita aplicando-se um método denominado diagrama de árvore.


[Figura 2]

Esse tipo de diagrama é um modelo representativo de raciocínio multiplicativo aplicado em várias situações que envolvem contagens, como por exemplo, de quantos modos diferentes podemos vestir uma camiseta e uma calça dispondo, para isso, de $3$ camisetas e $2$ calças diferentes.

No $S.I.$, os prefixos quilo, mega e giga expressam diferentes potências de $10$. Assim, um quilobyte $(KB)$ equivale a $10^3$ bytes, um megabyte $(MB)$ a $10^6$ bytes e assim por diante. Com base no $S.I.$, podemos fazer algumas transformações para exercitar o uso das potências de $10$:

Exemplo 1:

Transformar$10$ megabytes em bytes:
\begin{equation*}
10 \cdot 10^6 = 10^7 \: bytes
\end{equation*}

Exemplo 2:

Transformar $1$ gigabytes em quilobytes:
\begin{equation*}
1\cdot \frac{10^9}{10^3} = 10^6 \: bytes
\end{equation*}

Exemplo 3:

Transformar $100$ quilobytes em gigabytes:
\begin{equation*}
\frac{10^2 \cdot 10^3}{10^9} = 10^{-4} \: gigabytes
\end{equation*}

Exemplo 4:

Transformar $20$ terabytes em megabytes:
\begin{equation*}
\frac{2\cdot 10\cdot 10^{12}}{10^6} = 2\cdot 10^7 \: megabytes
\end{equation*}

Já para o sistema binário, os prefixos usado expressam potências de $2$. Assim, $1$ quibibyte $(KiB)$ equivale a $2^{10}$ bytes; $1$ mebibyte $(MiB)$ a $2^{20}$ bytes; $1$ gibibyte $(GiB)$ a $2^{30}$ bytes e assim por diante. Vamos fazer algumas transformações para exercitar o uso das potências de $2$:

Exemplo 5:

Transformar $2$ mebibytes em quibibytes:
\begin{equation*}
\frac{2^1 \cdot 2^{20}}{2^{10}} = 2^{11} \: quibibytes
\end{equation*}

Exemplo 6:

Transformar $16$ gibibytes em mebibytes:
\begin{equation*}
\frac{2^4 \cdot 2^{30}}{2^{20}} = 2^{14} \: mebibytes
\end{equation*}

Exemplo 7:

Transformar $10$ tebibytes em bytes:
\begin{equation*}
5 \cdot 2^1 \cdot 2^{40} = 5 \cdot 2^{41} \: bytes
\end{equation*}

Exemplo 8:

Transformar $32$ quibibytes em gibibytes:
\begin{equation*}
\frac{2^5 \cdot 2^{10}}{2^{30}} = 2^{-15} \: gibibytes
\end{equation*}

A capacidade de armazenamento de mídias como um $CD-ROM$ está baseada no sistema binário, apesar de ser expressa com os prefixos no sistema decimal. Por exemplo: um $CD-ROM$ de $700 MB$ (megabytes) tem uma capacidade real de $700 MiB$ (mebibytes). Diferentemente, a capacidade real dos $DVDs$ é calculada com potências de $10$, ou seja, um $DVD$ de $4,7 GB$ (gigabytes) tem efetivamente uma capacidade de armazenamento de $4,7$ gigabytes. Então, qual a capacidade real em megabytes de um $CD-ROM$ de $700 MiB$? Transformamos $700$ mebibytes em megabytes:
\begin{equation*}
\frac{7 \cdot 10^2 \cdot 2^{20}}{10^6} = \frac{7 \cdot 2^{20}}{10^4} = \frac{7 \cdot 1.048.576}{10.000} = 734 \: megabytes
\end{equation*}
Portanto, a capacidade efetiva de um $CD-ROM$ é de $734 MB$.

Para sabermos qual é a capacidade real em gibibytes $(GiB)$ de um $DVD$ de $4,7 GB$, basta transformarmos $4,7$ gigabytes em gibibytes, assim:
\begin{equation*}
\frac{47 \cdot 10^{-1} \cdot 10^9}{2^{30}} = \frac{4.700.000.000}{1.073.741.824} \approx 4,4 \: gibibytes
\end{equation*}
Portanto, a capacidade, em base binária, de uma mídia de $DVD$ é de $4,4 GiB$ (gibibytes).

Referências:


Veja mais:

COMO REFERENCIAR ESSE ARTIGO: Título: Potências em base decimal, base binária e o byte. Publicado por Kleber Kilhian em 04/01/2012. URL: . Leia os Termos de uso.


Siga também o blog pelo canal no Telegram.
Achou algum link quebrado? Por favor, entre em contato para reportar o erro.
Para escrever em $\LaTeX$ nos comentários, saiba mais em latex.obaricentrodamente.com.

14 comentários:

  1. Olá, Kleber!!!

    Parabéns, meu caro parceiro! Postagem excelente e superinteressante!!! Além do que, aliás, como sempre acontece, você aborda esses "assuntos complicados" de uma maneira didaticamente facilitada e com uma exposição editorial gráfica incrível, tornando o que se imaginava ser um artigo intragável em um prazeroso degustar desses ensinamentos!!!!
    Caramba, estou preocupado com o nosso amigo Jairo, quando ele disse, que essa lição aqui era difícil! Só pode ser modéstia dele!!! Mas, tem nada não, viu Jairo? Caso não consiga entender alguma coisa... é só pedir explicações para a Sofia!!!! Certo? KKKKKKKKKKKK!!!!!!! Você sabe, que isso é brincadeira minha!!! KKKKKKKKKK!!!!

    Um abraço!!!!!

    ResponderExcluir
  2. É a Sofia logo logo já tem o blog dela! Rss... é uma briga aqui para eu poder usar o computador, já que ela quer ficar jogando, pintando e vendo os vídeos no youtube. Dá para acreditar? Ela fez 3 anos dia 02/01.

    Mas é claro que é modéstia do Jairo! Mas me surpreendi também ao ler essas informações. Quanta coisa a gente não sabe, não é mesmo? A cada dia que passa, aprendo um pouco mais. Só por isso já vale o esforço em manter o blog. Pessoas como você, Jairo, Paulo, entre outros tantos incentivadores, me fazem continuar. Isso é ótimo. Outra coisa muito boa é ter conhecido pessoas tão distintas quanto vocês. Muito obrigado.

    ResponderExcluir
  3. Kleber:
    Eu finalmente tive um tempinho sossegado para estudar aqui, porque este tema muito me interessa, e anotei algumas coisas que me deixaram na dúvida:
    1) Na 3ª tabela (2ª linha), acho que seria preciso fazer uma correção na sequência:
    2¹, 2², 2³, 2^4 , 2^5
    Na mesma tabela, qual o significado da letra m, na expressão m^n ?
    2) No exemplo 2 de transformações no SI: A resposta é 10^6 gigabyte, e não 10^6 bytes.
    3) No exemplo 6 de transformações no SI: Se fosse para transformar em bytes, a resposta estaria correta, mas como o exemplo pede para transformar em mebibytes, então teríamos que fazer a divisão de 2^34 por 2^20 , o que daria como resposta: 2^14 MiBytes.
    4) No exemplo 8 de transformações no SI: A resposta é 2^ - 15 gibibytes, e não 2^- 15 bytes.
    Eu entendi tudo perfeitamente e achei que você explicou muito bem, com ótimas tabelas e diagramas. Percebi também que talvez não deva ser fácil saber a qual dos dois sistemas os fabricantes estão se referindo para dar as informações de memórias. Fiquei com umas dúvidas, e se você pudesse respondê-las eu agradeceria:
    1) Este exemplo que você deu, entre a diferença de informações dadas para os CD-ROM e para os DVD é uma regra geral para TODOS os fabricantes ?
    2) Qual a base usada nos pen-drives por exemplo?
    3) Tem como a gente saber a que base cada fabricante está se referindo?

    Quando eu disse que este post era difícil, não quis dizer que você dificultou, muito pelo contrário. A sua explanação aqui foi brilhante, como sempre. O que eu quis dizer é que há muita confusão entre as informações que a gente vê por aí sobre esta coisa de Gigabyte, e tudo mais. É que a complicação era inevitável, pelo fato de os sistemas de informática adotarem a base binária, que não é usada no dia-a-dia das pessoas.

    Acho que este post deve servir de referência para qualquer um que quiser entender um pouco mais sobre estas diferentes formas de expressar as capacidades de memórias.

    Desculpa a chatice de ficar verificando tudo. O Valdir pegou no meu pé, mas ele não deve ter reparado estes detalhes. Ou viu, mas não quis falar. É que meu raciocínio não é muito rápido. Eu preciso ler com calma e atenção, para entender cada detalhe. Conferi as contas também, e está tudo ok.
    Eu vi que você usou como referência o Caderno do Professor. Se for daqueles distribuídos pelo Governo do Estado de São Paulo, verifica se os errinhos já não estavam lá. Eu uso os de Física, e já notei alguns equívocos, mas têm muita informação boa nestes cadernos.

    Abraço.

    ResponderExcluir
  4. Pois é Jairo, acho que às vezes para economizar tempo, acabo copiando algumas coisas e não me atento a alguns detalhes. Peço que me dê só um tempinho para responder suas questões. Voltei a trabalhar hoje e agora meu tempo livre diminui mesmo. Mas logo te respondo ok? Obrigado pela leitura atenta e por me avisar.
    Abraços.

    ResponderExcluir
  5. Não é chatisse Jairo, pois são observações como essa que nos ajudam a entender um pouco mais, certo? E corrigir nossos erros! Meu raciocínio também não é rápido, também preciso ler com calma e até esboçar alguma coisa para fuir melhor. Não consigo fazer muitas contas de cabeça.

    Fiz as correções que citou, obrigado. Preciso ficar mais atento.

    Na tabela 3, acho que ficou meio estranho mesmo a notação $m^n$, porque é igual a $2^n$, logo $m=2$. Alterei para somente $m$, pois assim o número $2^n=m$, fica melhor.

    Para responder algumas de suas perguntas, sugiro que leia o artigo do link abaixo. Não sei se responderá totalmente suas perguntas:
    http://www.hardware.com.br/guias/hds/gigabytes-gibibytes.html

    Fiquei um pouco frustrado por não encontrar informações precisas, pois também acho que não é um tema de fácil compreensão, tanto é que cometi alguns erros por falta de atenção e por querer economizar tempo. Como o autor do texto do link acima disse, tudo vai caminhando a passos lentos e isso só complica nossa cabeça.

    Um abraço.

    ResponderExcluir
  6. Pois é Kleber. Fui até o endereço que vc passou, e dei uma lida. Na verdade parece não ser tão simples, como eu imaginava, saber o tipo de medida que cada fabricante adota, para HD, CD_ROM, pendrives, ...

    Como é informado no site, os fabricantes não deram muita bola para a tentativa de padronizar as medidas, feita pelo IEEE, em 2005, e pelo que eu entendi, cada um resolveu seguir usando o mais conveniente para eles, que é a base decimal. Bom...fazer o quê? Está criada a confusão... Obrigado pelo link. Consegui pelo menos entender que as dúvidas que eu tinha não são mesmo tão simples de serem respondidas. Enquanto não houver um entendimento entre eles próprios, nós provavelmente também ficaremos um pouco confusos. Pena.

    Abraço

    ResponderExcluir
  7. É muito estranho tudo isso. Foram criado prefixos específicos para identificar a capacidade dos dispositivos de armazenamentos e os fabricantes não deram bola. Acho que falta uma norma para isso.
    Um abraço.

    ResponderExcluir
  8. Olá Kleber,
    Grato deveras por ter linkado minha postagem sobre correção de erros. Vou linkar esta sua postagem também, pois creio que sirva muito bem como um embasamento para quem quiser entender a razão prática de termos correção de bits em uma sequência deles. Valeu! Sua postagem veio na hora certa!

    ResponderExcluir
    Respostas
    1. Olá Reginaldo,
      Obrigado pela troca de links! Acho muito saudável para os blogs envolvidos e quem ganha é o leitor.
      Um abraço.

      Excluir
  9. um curiosidade: se cada bit é um capacitor( um buraquinho no dvd), como posso ter 0,4 bites(na base binária,claro) ?

    ResponderExcluir
  10. Gostei muito do post. Tenho apenas uma observação a fazer. Creio que a expressão referente ao cálculo para a capacidade do CD-ROM de 700 MB em MiB está equivocada. o Correto seria (7. 10².10^6)/2^20 = 667,57 MB. Utilizei o mesmo raciocínio usado para o DVD de 4,7 GiB.

    ResponderExcluir
    Respostas
    1. Olá Marcos. Na verdade, o valor de 700MB do CD-ROM já está em MiB, apesar de ser expresso comumente em MB. Então, os 700MB na verdade são 700MiB. No exemplo, foi feito uma transformação de 700MiB para 734MB. Já para o DVD foi o contrário. Veja este artigo:
      http://www.hardware.com.br/guias/hds/gigabytes-gibibytes.html
      Um abraço.

      Excluir

Whatsapp Button works on Mobile Device only

Pesquise no blog