quarta-feira, 29 de junho de 2011

A linguagem do computador (2º da série "Por dentro da Informática").


2º da série: “Por dentro da Informática”
Atualmente (em junho de 2011), cada pen drive já comporta dados de até 64 GB (64 gigabytes). Mas o mais procurado para uso particular é o de 4 GB, cuja capacidade corresponde à de um DVD simples.
O que significa 4 GB?
A compreensão disso está contida no assunto Notação Binária, que podemos definir como sendo a representação que a informática faz por meio de números (que contêm apenas os algarismos 0 e 1), de todos os caracteres que podemos digitar (letras maiúsculas e minúsculas, algarismos, símbolos, sinais, espaço em branco etc), que são chamados de números binários, ou  dígitos binários,  porque neles só entram os números (dígitos) 0 e 1.
É a codificação, para a qual foi criada a tabela que em inglês é chamada de ASCII (American Standard Code for Information Interchange) ou Código Americano Padrão para Intercâmbio de Informação, onde os caracteres digitáveis estão dispostos numa ordem numérica crescente e o  número de ordem que o caractere ocupa nessa tabela é o ponto de partida para determinação do seu número binário. Cada 0 e cada 1 é chamado de bit (binary digit = dígito binário) e  cada caractere que podemos digitar é composto de 8 bits, chamado de Byte.  São ao todo 256 Bytes diferentes, que compõem essa tabela (256 = 28 = 2x2x2x2x2x2x2x2), desde o Byte de número de ordem 0 = 00000000 (Byte nulo), passando pelo 1 = 00000001, até o de número de ordem 255 = 11111111.
Assim, o decimal 10, quando digitado, chega à CPU como 0000000100000000  e o 11, como 0000000100000001
Para chegarmos ao Byte de cada caractere, vamos estabelecer uma seqüência de 8 números decimais, começando pelo número 1 e sempre à esquerda colocando o valor do nº anterior, dobrado:  128   64  32  16   8   4   2   1
E precisamos saber o número de ordem de cada caractere, na tabela ASCII.
Como exemplo, citamos o a minúsculo, que ocupa a 97ª posição, correspondendo ao número 97. O b corresponde ao nº 98, o c ao nº 99, o d ao 100, o e ao 101, o f ao 102 e assim por diante.
Vamos determinar, por exemplo, o Byte do a (minúsculo), tendo em vista a seqüência:
128, 64, 32, 16, 8, 4, 2, 1
O a = 97, que  não figura nessa seqüência, mas sabemos que 97 =  64 + 32 + 1, números que constam da seqüência (e também para os demais caracteres, fazemos a decomposição do seu nº de ordem na tabela, de molde a que os números resultantes da decomposição coincidam com pelo menos alguns da seqüência acima).
Coloquemos estes números na posição dos seus correspondentes, na seqüência acima.
No lugar que contiver um desses números (64, 32 e 1), colocaremos apenas o dígito 1 e nos demais espaços, que ficarem em branco, colocaremos dígito 0:  
128   64   32   16     8     4    2     1
   -    64   32     -      -      -    -     1
   0     1     1     0      0     0    0     1
Obtivemos, assim, o número binário, que é o Byte do a (minúsculo), o seu código no computador: 01100001.  
Quando digitamos um caractere, o teclado transmite à memória o seu número binário, isto é, o seu Byte, por meio da corrente elétrica, nas suas duas funções, positiva e negativa.  Quando a corrente transmitida é positiva, o dígito enviado é considerado 1. Quando é negativa ou neutra, o dígito é 0.
Dessa forma são introduzidos os dados na memória do computador, cujo processador transforma novamente nos caracteres digitados, apenas para aparecerem na tela, tal como foram digitados.
A seqüência de caracteres digitados forma as palavras, que o processador recebe em forma de tantos Bytes quantos forem os caracteres da cada palavra, de cada número ou sinal e também do espaço em branco. E, como esses Bytes acabam sendo introduzidos aos milhares, dada a imensa quantidade de letras, números e símbolos introduzidos, aparecem os múltiplos do Byte, que, em números, são potências de 2, na escrita de base binária:
1 Byte                    = 8 bits                                                      =  2³   (2 x 2 x 2 = 8)
1 Kilobyte   (KB)  =                                    1.024     Bytes    =  210
1 Megabyte (MB) =                            1.048.576     Bytes   =  220   = 1.024   KB    
1 Gigabyte  (GB)  =                       1.073.741.824    Bytes    =  230  = 1 .024  MB
1 Terabyte   (TB)  =               1.099.511.627.776    Bytes    =  240  = 1.024  GB    
1 Petabyte   (PB)   = 1.099.511.627.776 x 1.024     Bytes    =  250  = 1.024  TB
1 Exabyte    (EB)     = 1.099.511.627.776 x 1.024 2 Bytes    =  260  = 1.024  PB
1 Zettabyte  (ZB)  = 1.099.511.627.776 x 1.024 3  Bytes    =  270  = 1.024  EB
Nota : Kilo, Mega, Giga, Tera, Peta, Exa e Zetta  são prefixos que indicam mil, 1 milhão, 1 bilhão, 1 trilhão, 1 quatrilhão, 1 quintilhão, 1 sextilhão e 1 setilhão, respectivamente, no sistema decimal. Entretanto, no sistema binário, de que se serve a Informática para representar os caracteres, esses valores não são em números “redondos”,  porque não derivam de potências de 10 (base decimal) e sim de potências de 2 (base binária), conforme correspondência acima indicada.   
Fonte: Mini-Dicionário de Informática, de minha autoria, edição de 2003 e “A Estrada do Futuro”, de Bill Gates.
Assim, cada pen-drive, atualmente o mais usado (junho de 2011), de 4 giga (gigabytes), comporta 4 x 1.073.741.824 Bytes, (correspondente ao espaço contido em um DVD comum),compreendendo-se que cada Byte é uma letra, um algarismo, um espaço em branco ou sinal qualquer que podemos digitar.
Petrópolis, 29.06.2011.  Luiz Leduc Júnior. www.luizleducjr.com.br/ e www.luizleducjr.blogspot.com