Curso de Redes: Numeração Binária
por
em 27-01-2009 às 12:06 (15433 Visualizações)
Leia as partes anteriores desse curso antes de prosseguir
Olá pessoal! Estou fazendo um novo "anexo" ao curso de redes. dessa vez é uma breve introdução a numerção binária. Isso é fundamental para redes! Então muita atenção e dedicação! Qualquer dúvida poste nos comentário ou use o ChatBox!
E pra quem ta acompanhando, não se preocupe que esse não vai ser o único conteúdo dessa semana! A próxima parte desse curso sai logo logo! E nela precisaremos desses conceitos!
Mãos à obra!!
Numeração Binária
Base Numérica
Uma base numerica se refere ao número de dígitos utilizados para expressar números. Ao longo da história tivemos diversas bases numéricas: Base 8, Base 16, Base 10, Base 8...
A numeração que utilizamos possui Base 10. Isso quer dizer que podemos escrever qualquer número utilizando apenas 10 algarismos:
A numeração com base dois utiliza apenas dois algarismos:
A numeração com base 8 utiliza os seguintes algarismos:
A numeração com base 16 utiliza os seguintes algarismos:
Muita atenção pois, por exemplo, se o sistema tem base oito ele só chega até o digito 7. É muito comum as pessoas acharem que chega até o digito 8.
Como nosso objetivo é entender o endereçamento de camada 3, vamos ver somente numeros binários até 255 (1111 1111).
Conversão entre Bases
Vamos tomar alguns exemplos de um mesmo número escrito em diversas bases:
Para realizar a conversão de decimal para binário existem dois métodos: método das divisões e o método das subtrações.
No método da divisão são realizadas sucessivas divisões por zero a após chegar em 1 pegamos todos os restos em "ordem reversa".
Para o método da subtração, temo que ter em mente a seguinte tabela.
Vamos por exemplo converter 212 para binário. Para realizar a conversão vamos imaginar uma "caixa" com oito espaços: [X|X|X|X|X|X|X|X]. Em seguida pegamos o último Decimal da tabela (128). Se 128 for menor que o numero que queremos converter (212) nos subtraímos os dois: 212-128=84
Como foi possível dividir, marcamos um 1 na casa respectiva ao 128: [1|X|X|X|X|X|X|X]. Passamos para o próximo número: 64. O restante da subtração (84) é maior que 64?? Então realizamos a subtração: 84-64 = 20
Depois marcamos o 1 na sua casa respectiva: [1|1|X|X|X|X|X|X]. O próximo número é 32, só que 32 é maior que 20, logo não podemos subtrair. Então marcamos um 0 na sua casa respectiva: [1|1|0|X|X|X|X|X]
O próximo número é 16, realizamos a subtração (20-16=4) e adicionamos o 1 a sua casa: [1|1|0|1|X|X|X|X]
O próximo número é 8, não podemos subtrair! Marcamos a casa com 0: [1|1|0|1|0|X|X|X]
O próximo número é 4, realizamos a subtração (4-4=0) e marcamos a casa com 1: [1|1|0|1|0|1|X|X]
O próximo número é 2, não podemos subtrair! Marcamos a casa com 0: [1|1|0|1|0|1|0|X]
O próximo número é 1, não podemos subtrair! Marcamos a casa com 0: [1|1|0|1|0|1|0|0]
Assim temos nosso numero decimal convertido para binário: 11010100
A conversão inversa, binário para decimal é bem mais simples. Ao pegarmos um numer binário, por exemplo 1011 1101, vamos pensar na mesma tabela do método da subtração. Vamos ver quais "casa" desse numero possuem o 1:
Depois disso pegamos os números correspondentes a essas "casa" (128, 32, 16, 8, 4 e 1) e somamos:
128 + 32 + 16+ 8 + 4 +1 = 189
Pronto! 1011 1101 em binário é igual a 189 em decimal!
Operações Lógicas
Existem várias operações lógicas feitas com números binários. Essas operações muitas vezes são chamadas de lógica Booleana. Vamos ver duas delas:
AND
A operação AND é expressa pela seguinte equação A * B = Q (Lê-se: A and B é igual a Q)
Ela tem a seguinte tabela verdade:
Vocês devem estar se perguntando: "V?!?! F?!?! Mas agente não tava falando de numeração binária???". Acontece que em computação o 0 é equivalente a falso e o 1 é equivalente a verdadeiro! Dessa forma podemos reescrever a tabela da seguinte forma:
Toda operação lógica pode ser encarada como a veracidade de uma afirmação baseada na resposta amostrada por indivíduos.
Por exemplo:
Temos 2 pessoas (joão e josé). A afirmação é: João e José são irmãos. Logo faremos uma pergunta a ambos: "Sua mãe é a mesma que a dele?!". Podemos dizer que eles serão irmãos se a mãe do José e (AND em português) a mãe de João forem a mesma pessoa. As possíveis respostas (tabela verdade) serão:
- Se todos responderem que não, a afirmação é falsa;
- Se um deles responder que sim e o outro não a afirmação é falsa, pois um deles está mentindo;
- Se ambos responderem que sim, a afirmação é verdadeira!
Agora vamos ver como podemos fazer isso com vários números binários: 1010 * 1100
Para realizar essa operação vamos colocar um número sobre o outro e pensar em colunas:
Passo-a-passo: Da coluna da direita para a esquerda, consultando na tabela verdade:
coluna 1: 0*0=0
coluna 2: 1*0=0
coluna 3: 0*1=0
coluna 4: 1*1=1
Reescrevendo: 1010*1100=1000
OR
A operação OR é expressa pela seguinte equação A + B = Q (Lê-se: A or B é igual a Q)
Ela tem a seguinte tabela verdade:
ou
Podemos pensar da mesma forma que no caso da AND. Se tivermos uma sentença como, "Um deles gosta da cor preta", e perguntarmos ao José e ao João se ele gosta da cor preta, essa afirmação será verdadeira mesmo que apenas um deles goste da cor preta. A afirmação será false somente se a ambos não gostarem da cor preta. Podemos dizer que será verdade se João ou (OR em portugês) gostar da cor preta.
Fechamento
Fechamos aqui, uma breve e simplória introdução à numeração binária. Recomendo fazerem muitos exercícios de conversão e operações lógicas pois isso será muito útil para entender e calcular sub-redes.
Até a próxima...
Comentários
+ Enviar Comentário