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: 28.286 ]

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

Apresentando o CentOS - The Community Enterprise Operating System

A arte do tetra-boot

Instalando o Asterisk com suporte a MFC/R2

Analogia: X-Window como um sistema operacional

Dando uma "enfeitada" no Ubuntu com o gDesklets

  
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




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts