Entendendo os números binários

Entender o sistema de numeração binária pra utilizar na informática tem algumas utilidades, então vejamos: cálculo de subredes, classes IP, permissão de arquivos e diretórios no Linux (umask) etc. É de vital importância o perfeito entendimento desse sistema, pois os dispositivos digitais utilizam os bits para manipular qualquer tipo de informação.

[ Hits: 20.544 ]

Por: Tony Menezes em 29/03/2011


Introdução



Nós estamos acostumados e ambientados a utilizar um sistema de numeração chamado DECIMAL, pois utiliza 10 algarismos para representar todos os números conhecidos, quais sejam: 1, 2, 3, 4, 5, 6, 7, 8, 9, 0. Muitas histórias foram contadas a respeito, inclusive, uma suposta relação com os 10 dedos de nossas mãos, mas isso foge ao escopo desse artigo.

Ambos os sistemas (decimal e binário) são posicionais, isso significa que a posição ocupada por cada algarismo em um número altera seu valor. Quanto mais a esquerda, maior o seu valor e quanto mais a direita, menor o seu valor.

Antes de começarmos a entender e transformar números decimais em binários, precisamos recordar um assunto que estudamos no ensino fundamental, chamado de POTENCIAÇÃO.
A figura nos diz que devemos multiplicar o número da base (no caso 2), a quantidade de vezes que o expoente pedir (no caso 3). Exemplo: 2 x 2 x 2 = 8
Cada vez que somarmos 1 ao valor do expoente, o resultado será o dobro do resultado anterior. Dessa forma, chegamos a conclusão que para a base 2, ao aumentarmos gradativamente o expoente, chegaremos a uma sequência de números do tipo: 1, 2, 4, 8, 16, 32, 64, 128, 256 ... etc.

Transformando decimal em binário

O sistema de numeração binária utilizado pelos computadores, por exemplo, utiliza apenas dois números para representar todos os números possíveis, são eles: 0 e 1, só pra lembrar "BI" é prefixo de dois. Agora observe a imagem abaixo:
A imagem nos mostra as potencias de 2 e logo abaixo seus respectivos resultados em representação decimal. Imagine a situação em que precisamos transformar o número 130 escrito em decimal para a forma binária. Para isso precisaríamos do 2 e do 128 (que somando 2 + 128 = 130), respectivamente 2° e 7° bits. Os bits que forem utilizados recebem o valor 1 e os que não forem utilizados recebem o valor 0, portanto 130 decimal em binário seria 1 0 0 0 0 0 1 0.

Vamos a mais um exemplo. Transformar 191 escrito em decimal para a forma binária: Vamos precisar do 1, 2, 4, 8, 16, 32 e 128 (que somando 1 + 2 + 4 + 8 + 16 + 32 + 128 = 191), respectivamente 1°, 2°, 3°, 4°, 5°, 6° e 8° bits. Portanto, 1 0 1 1 1 1 1 1, observe que o 7° bit não foi utilizado e recebeu o valor 0.

Lembre-se que os sistemas são posicionais, quanto mais a esquerda maior será o número. Os bits são numerados da direita para a esquerda. Você sabia que é perfeitamente possível realizar operações matemáticas com os números binários, mas isso é uma outra história.

Espero ter ajudado.

   

Páginas do artigo
   1. Introdução
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

Logrotate, uma importante ferramenta de administração dos logs do sistema

Cópia completa do HD - cluster por cluster

Montando um servidor de pacotes pré-compilados do Gentoo

I Encontro da Comunidade Viva o Linux

Falta de padronização no Linux

  
Comentários
[1] Comentário enviado por eduardoweiland em 29/03/2011 - 10:32h

Também é possível calcular utilizando o resto da divisão por 2, assim:

Divide o número por dois e vai dividindo o resultado até chegar a zero:
10 / 2 = 5 resto 0
5 / 2 = 2 resto 1
2 / 2 = 1 resto 0
1 / 2 = 0 resto 1

Depois é só inverter os restos, do último para o primeiro e temos:
decimal 10 = binário 1010

[2] Comentário enviado por tonyrecife em 29/03/2011 - 15:33h

Isso mesmo duduweiland, as divisões sucessivas por 2 (bi) também é uma forma de se chegar a notação binária. A inversão seria da seguinte forma:
0 x 2 (elevado a zero) = 0
1 x 2 (elevado a um) = 2
0 x 2 (elevado a dois) = 0
1 x 2 (elevado a três) = 8
Somando ..... 0 + 2 + 0 + 8 = 10

Forte abraço .....

[3] Comentário enviado por removido em 29/03/2011 - 18:24h

Caro tonyrecife, sobre seu artigo duas ressalvas: 1 - Os algarismos do sistema decimal realmente començam com o zero, do modo como colocou parece que zero vem depois de nove.

A leitura de sistemas binários não é feita somente da direita para esquerda como você afirma. Isso é uma característica de sistemas cuja arquitetura binária é chamada de LITTLE ENDIAN. Os sistemas cuja leitura se dá da esquerda para direita são chamados de BIG ENDIAN. O artigo da wikipedia http://en.wikipedia.org/wiki/Endianness pode esclarecer sobre o conceito de endianness. Vlw e Viva o Linux.

[4] Comentário enviado por tonyrecife em 29/03/2011 - 21:58h

Opa ...... Primeiramente gostaria de agradecer a participação.
A intenção do artigo é apenas mostrar uma das formas de se transformar decimal em binário, inclusive o companheiro duduweiland mencionou outra forma.
Com relação ao zero, foi colocado por último propositadamente, pois foi o último algarismo incorporado ao sistema decimal, vide história da matemática. Um cara chamado Leonardo de Pisa (Fibonacci) em suas viagens pelo Islã, no século X, conheceu e aprendeu a utilizar o sistema indiano, posteriormente trazendo para o mundo cristão.
Se interessar posso enviar uma tese de doutorado na PUC/SP - 2008, cujo título é "A ORIGEM DO ZERO".
visite http://www.somatematica.com.br/historia/zero.php

Forte abraço e Viva o Linux ....

[5] Comentário enviado por igoiglesias em 31/03/2011 - 07:19h

Muiro bom seu post manim,

gostei tanto dele que até coloquei em meu blog, da uma olhada la >>

www.instru-tech.blogspot.com

[6] Comentário enviado por tonyrecife em 31/03/2011 - 13:31h

Obrigado igoiglesias,
O tema do seu blog é atual e apropriado. Siga em frente e Viva o Linux.


Contribuir com comentário