De Basic a Ruby – 3

Se você frequentou aquelas aulas de computação sobre as quais eu comentei na primeira postagem dessa série, você deve lembrar que um computador só compreende a diferença entre ligado e desligado, aceso e apagado ou em notação numérica, seria a diferença entre zero e um.  A cada unidade desse sistema binário dá-se o nome de bit (binary digit). E ao agrupamento de 8 desses bits dá-se o nome de byte ou octeto.

Entender como os números são codificados no sistema binário não é tarefa das mais difíceis, basta fazermos uma analogia com o sistema decimal.

No sistema decimal os números podem ser representados pelos algarismos de 0 a 9. O que fazemos quando queremos representar uma quantidade acima de nove? Reiniciamos a contagem do zero e adicionamos 1 ao algarismo a esquerda. Se não houver algarismo a esquerda é porque esse algarismo é um 0 e passará agora a ser um 1. Ex: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 e agora teremos o 10 (0 no lugar antes ocupado pelo 9, e “mais um” no algarismo a esquerda que implicitamente seria um 0 e agora passa a ser um 1)… e continuamos a contagem normalmente a partir daí.

No sistema binário acontece exatamente da mesma forma com a singela diferença que só dispomos de dois algarismos que seriam o 0 e o 1. Sendo assim, para representar o número 0 eu utilizo o algarismo 0. Para representar o número 1 eu utilizo o algarismo 1 e até agora tudo está fácil pois é exatamente igual ao sistema decimal. Mas para representar uma quantia maior que 1, como não disponho de mais nenhum algarismo diferente, acontece a mesma coisa que aconteceu com o exemplo do ‘9‘ do sistema decimal, eu tenho que reiniciar a contagem e no lugar do 1 eu agora terei o 0. Devo também incrementar o algarismo a esquerda, que no caso seria 0 e agora passa a ser 1. O resultado dessa operação é que para representar o número 2 no sistema binário eu o escrevo como ‘10‘.

Esse processo de contagem é similar para qualquer base numérica. Veja na tabela abaixo todas as bases de 2 a 10 e perceba como quando comparamos uma base com a outra a coisa toda fica bem intuitiva.

Bases
10 9 8 7 6 5 4 3 2
0 0 0 0 0 0 0 0 0
1 1 1 1 1 1 1 1 1
2 2 2 2 2 2 2 2 10
3 3 3 3 3 3 3 10 11
4 4 4 4 4 4 10 11 100
5 5 5 5 5 10 11 12 101
6 6 6 6 10 11 12 20 110
7 7 7 10 11 12 13 21 111
8 8 10 11 12 13 20 22 1000
9 10 11 12 13 14 21 100 1001
10 11 12 13 14 20 22 101 1010
11 12 13 14 15 21 23 102 1011
12 13 14 15 20 22 30 110 1100
13 14 15 16 21 23 31 111 1101
14 15 16 20 22 24 32 112 1110
15 16 17 21 23 30 33 120 1111
16 17 20 22 24 31 100 121 10000
17 18 21 23 25 32 101 122 10001
18 20 22 24 30 33 102 200 10010
19 21 23 25 31 34 103 201 10011
20 22 24 26 32 40 110 202 10100

 

“Só existem 10 tipos de pessoas no mundo, aquelas que entendem o código binário e aquelas que não.”

Bem, mas aonde mesmo foi parar o BASIC no meu computador atual?

Vá acompanhando que eu tentarei responder mais adiante nessa sequência de postagens.

Uma resposta para “De Basic a Ruby – 3”

Deixe uma resposta