De Basic a Ruby – 4

No texto anterior entendemos como é possível representar qualquer número natural com apenas acesos e apagados (0 e 1) utilizando-se o sistema de numeração binárioMas, será que só de números viverá o homem?

No computador atual interagimos com fotos, músicas, filmes, planilhas, aplicativos e uma infinidade de outras coisas. Mas, a verdade é que todas essas coisas no íntimo do computador são representadas apenas por números. Para tal façanha, temos que desenvolver codificações. Tais codificações seriam basicamente um “combinado” acerca do que cada número representa em um determinado contexto. Por exemplo, para representar as letras a partir de números temos que definir de antemão que número será traduzido para que letra. Na época de ouro do Basic a codificação de texto mais utilizada era a ASCII, e as letras minúsculas de ‘a’ até ‘z’ eram representadas cada uma por um número definido.

Caracter Decimal Binário
a 97 1100001
b 98 1100010
c 99 1100011
d 100 1100100
e 101 1100101
f 102 1100110
g 103 1100111
h 104 1101000
i 105 1101001
j 106 1101010
k 107 1101011
l 108 1101100
m 109 1101101
n 110 1101110
o 111 1101111
p 112 1110000
q 113 1110001
r 114 1110010
s 115 1110011
t 116 1110100
u 117 1110101
v 118 1110110
w 119 1110111
x 120 1111000
y 121 1111001
z 122 1111010

Sendo assim, para escrever a palavra “basic” em código ASCII poderíamos utilizar a seguinte sequência de números: 98, 97, 115, 105, 99.

Para representarmos figuras monocromáticas de tamanho 8×8 por exemplo, poderíamos utilizar uma codificação aonde teríamos 8 “linhas” de 8 bits. Cada bit que fosse igual a 0 representaria a cor branca e cada bit que fosse igual a 1 representaria a cor preta.

barba_sprite_128

Utilizando essa codificação que acabamos de inventar, a figura da face com barba (acima) poderia ser representada pelos números: 0, 102, 0, 24, 129, 189, 195 e 126. Veja a tabela abaixo detalhando como se daria a codificação.

-------- 00000000 0
-xx--xx- 01100110 102
-------- 00000000 0
---xx--- 00011000 24
x------x 10000001 129
x-xxxx-x 10111101 189
xx----xx 11000011 195
-xxxxxx- 01111110 126

É assim que, de forma muito simplista, qualquer codificação funciona. Você conseguiria imaginar um jeito de codificar uma onda sonora?


Figura em destaque: “Encoding communication” por Yupi666 em en.wikipedia [GFDL, CC-BY-SA-3.0 ou CC BY 2.5], de Wikimedia Commons

Uma resposta para “De Basic a Ruby – 4”

Deixe uma resposta