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.
Próximo: De Basic a Ruby – 4
Anterior: De Basic a Ruby – 2
2 respostas para “De Basic a Ruby – 3”