Ver Feed RSS

root@blog:/# chmod o+r *

Curso de Redes: Numeração Binária

Avalie este Post de Blog

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...

Atualizado 20-01-2010 em 07:36 por Magnun

Categorias
Curso de Redes , Cursos

Comentários

  1. Avatar de sergio
    Magnun, arrume a tabela hexadecimal. Faltou o "D".
  2. Avatar de Não Registrado
    na primeira questão tb, está escrito "mão" ao invés de "mãe"!!
    Na tabela de base 8, há dois valores diferentes em binário para o valor "10" na base 8
  3. Avatar de Magnun
    Valeu pessoal!! Corrigidos os erros!!
  4. Avatar de NãRegistradoo
    So nao entendi alguma coisas Tipo Eu tentei fazer esse numero 250 e deu 11111111 em Binario ai eu fui no tradutor online "binario" e deu o resultado assim "255" Pq ? manda um email pra mim Por favor se for possivel [email][email protected][/email]
  5. Avatar de Magnun
    Vamos fazer o processo mais básico que eu expliquei:
    Código :
    [FONT=Courier New]250[U]/2[/U]
     0 |125[/FONT][FONT=Courier New][U]/2[/U]
         1 |62[/FONT][FONT=Courier New][U]/2[/U]
             0|31[/FONT][FONT=Courier New][U]/2[/U]
                1|15[/FONT][FONT=Courier New][U]/2[/U]
                   1|7[/FONT][FONT=Courier New][U]/2[/U]
                     1|3[/FONT][FONT=Courier New][U]/2[/U]
                       1|1[/FONT]
    Se você pegar o número de trás para frente vai ver que é o número 1111 1010.
    Agora vamos fazer o processo inverso: 1*128 + 1*64 + 1*32 + 1*16 + 1*8 + 0*4 + 1*2 + 0*1
    que resumindo é o mesmo que 128 + 64 + 32 + 16 + 8 + 2 = 250

    Evite o máximo usar calculadoras, conversores binários ou "tradutores" como você citou. Você tem que aprender a fazer isso só. Aos poucos isso começa a ficar automático.

    Até mais...
  6. Avatar de edcomrocha
    Não sei se é somente aqui, mais não estou conseguindo ver as imagens dos posts, ou somente algumas consigo ver.

    Sei que ja faz tempo o curso mais é bem interessante.



    Abraços valew
  7. Avatar de MarcusMaciel
    Na verdade foi culpa da gerencia do site (minha) na atualizacao do sistema o indice das imagens alterou oq gerou links invalidos porem todas as imagens do magnun continuam disponiveis no seu album de fotos.

    A desta post esta em Foto 25 de 60 de Imagens para posts

    e todas as outras podem ser encontradas em Álbuns de Magnun

+ Enviar Comentário