quinta-feira, 26 de julho de 2012

Como calcular números Binários

Sistema de numeração Binário


      Olá, sejam bem vindos.

      Hoje pretendo aclarar sobre a linguagem binária. mas antes não posso deixar de mencionar o apoio de Ruan Djiovani Zuchara ao blogueiro Cicinho Alves e ao meu professor Juliano Dias, que com suas contribuições tornaram esse texto mais sucinto e informal.

     Conhecidamente e comumente utilizamos o sistema de numeração decimal em nosso dia a dia, e sabemos que esse sistema é composto por dez algoritmos que são: 0, 1, 2, 3, 4, 5, 6, 7, 8, e 9. Porém a maioria de nós também utiliza o sistema binário em atividades cotidianas como trabalho, edição de imagens, cálculos e até mesmo para construir esse post. Sabe como? se não, é o que pretendemos esclarecer adiante.
     O sistema de numeração binário, é, basicamente o sistema utilizado por programadores e pela computação e foi descoberto por Gottfried Wilhelm Leibniz, alguns estudiosos acreditam que ele foi o principal responsável pelo progresso humano, seus trabalhos e estudos na época foram desenvolvidos ao lado de alguns pensadores como Newton. esse fantástico pensador redescobriu os números binários 0 e 1 e defendia que o numero 0 significava o nada e atribuiu à Deus o numero 1, logo a dedução que a partir dos números 0(zero) e 1(um),  tudo foi criado, ou seja, a união desses dois números representa o Universo.
     O uso dos números 0 e 1 servem como base de cálculo, através deles é possível criar letras, números, gráficos, etc. Em um sistema como esse, é possível simplificar cálculos com auxilio da lógica, em computação, chamamos um digito binário de bit.
     Agora, vamos aprender o funcionamento dessa logica e sua aplicação na matemática.

Abaixo apresento a vocês uma pequena tabela com uma sequência de números e suas respectivas representações em seus sistemas de numeração respectivos.

Decimal
Binário
Octal
Hexa Decimal
     0
    0
    0
    0
     1
       1   
    1
    1
     2
   10
    2 
    2
     3
   11
    3
    3
     4
  100
    4
    4
     5
  101
    5
    5
     6
  110
    6
    6
     7
  111
    7
    7
     8
 1000
   10
    8
     9
 1001
   11
    9
   10
 1010
   12
    A
   11
 1011
   13
    B
   12
 1100
   14
    C
   13
 1101
   15
    D
   14
 1110
   16
    E
   15
 1111
   17
    F


     Veremos a seguir um exemplo de conversão de base decimal para binário onde vamos converter o numero 144 de base 10 para numero binário. Há duas formas de resolução:

     EXEMPLO 01


  •      Método utilizando a lógica

    Para demonstrar o primeiro método de resolver temos alguns passos a seguir, faremos uma contagem com potências de dois (sempre iniciando do numero 1) da seguinte forma: 1    2    4    8    16    32    64    128   256   ... vale lembrar que as potências devem ser utilizados de acordo com o numero que pretende-se a conversão - nesse caso paramos com o número 256 que é maior que o numero que pretendemos converter.

Nossa escala "pronta" ficará da seguinte forma:

256     128    64    32    16    8    4    2    1

Perceba que quando utilizarmos essa tabela, escrevemos ela da direita para esquerda partindo do numero maior para os menores.

Vamos converter o numero 144, então:
144 - 128 = 16
16   -  16  = 0

     Nesse método utiliza-se o numero pretendido para a conversão e subtrai-se o primeiro numero menor ou igual a ele que pertence a tabela.

    Aplicando os resultados em nossa tabela


256    128    64    32    16    8    4    2    1
  1                       1             .        

    perceba que anotamos apenas os múltiplos utilizados (uma vez cada um), agora, para obter a sequencia binária preenchemos com o 0 os múltiplos que não utilizamos


256    128    64    32    16    8    4    2    1
            1       0      0      1     0    0    0    0

     A linha inferior nos dará o resultado, logo, 144 base 10, em números binários é igual a 10010000

     Nesse sistema de divisão, para obter a prova real somamos os múltiplos utilizados e teremos o numero em sistema decimal novamente, então:


128 + 16 = 144.

     EXEMPLO 02
  •     Método Matemático
     Um outro método - matemático - implica em dividir o numero por dois até que não sejam mais possíveis divisões por números inteiros, temos então:


144 / 2 = 72 resto 0
  72 / 2 = 36 resto 0
  36 / 2 = 18 resto 0
 18 / 2   = 9   resto 0
   9 / 2   = 4   resto 1
   4 / 2   = 2   resto 0
    2 / 2  = 1  resto 0

     O número binário será sempre a composição do ultimo divisor seguido do resto das divisões anteriores assim temos 10010000
     Para obter a prova real pelo método matemático faremos o seguinte:
     Sabemos que  o numero binário 10010000 na base 10 é 144, como provar isso?

    Se você contar a quantidade de algarismos ( números) que temos chegaremos a 8, certo?

numero: 1  0  0  1  0  0  0  0
casas:    1  2  3  4  5  6  7  8

     Então vamos utilizar o exemplo abaixo para facilitar o entendimento

binário                        1    0    0    1    0    0    0    0
nº de casas casa 8 casa 7 casa 6 casa 5 casa 4 casa 3 casa 2 casa 1
potência      7      6      5       4      3      2      1     0
equação   1 x 2
  0 x 26
  0 x 25   1 x 24   0 x 23   0 x 22   0 x 21   0 x 20
desenvolvimento   1x128    0x64    0x32    1x16    0x8    0x4    0x2    0x1
soma     128      0      0     16      0      0      0      0



     Para a resolução contamos as casas da direita para a esquerda iniciando do numero 0, então.

oito casas, potencia 7 conforme abaixo:


1 x 27 + 0 x 26 + 0 x 25 + 1 x 24 + 0 x 23 + 0 x 22 + 0 x 21 + 0 x 20

 1x128 + 0 + 0 + 16 + 0 + 0 + 0 + 0 = 144

Mas como funciona quando temos mais que 10 casas (base > 10)?
- em sua leitura (acima) você deve ter percebido a tabela e se perguntado, e como faço com as letras? vamos responder sua pergunta, acompanhe.

Temos:

    Se tentamos converter um número para a base doze temos que assumir algumas regras, a final teremos: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 e 11 onde:


    Vamos aos cálculos?

Transformando 1579 na base 10, para a base 12.

1579 / 12 = 131 resto 07
131 / 12 = 10 resto 11

Seguindo a regra de composição temos então AB7, será? vamos à prova real:

AB7 na base 12 para a base 10 ficaria:



A x 122 + B x 121 + 7 x 120 então
10 x 122 + 11 x 121 + 7 x 120 logo
1440 + 132 + 7 = 1579 na base 10.

Para a aplicação na regra para o cálculo de base 2 (binário) podemos utilizar nossa tabela.


múltiplos de 2 a partir do número 1. Preenchemos as casas vazias com o 0 e temos 
11010100011 base 2
1579  -  1024  =  555
555    -    512  =   43
43      -      32  =   11
11       -       8  =     3
3         -       2  =     1
1        -        1  =     0



resultado: 11000101011


obtemos a prova somando: 1024 + 512 + 32 + 8 + 2 + 1 = 1579.
ou pelo processo de cálculo matemático
1579 / 2 = 789 resto 1
789 / 2 = 394 resto 1
394 / 2 = 197 resto 0
197 / 2 = 98 resto 1
98 / 2 = 49 resto 0
49 / 2 = 24 resto 1
24 / 2 = 12 resto 0
12 / 2 = 6 resto 0
6 / 2 = 3 resto 0
3 / 2 = 1 resto 1

Muito simples certo. Então Agora que tal praticar um pouco com alguns exercícios?


A - Transforme para a base binária (base 2)
1. (29)           2. (47)          3. (123)

B - Transforme para a base ternária (base 3)
1. (34)          2. (69)          3. (158)

C. Transforme para a base 12 onde: 10 = A e 11 = B
1. (1143)      2. (18993)


D. transforme os numeros binários para a base decimal
1. (1011)     2. (110101)     3. (1010111)
















fontes: http://www.ime.unicamp.br

20 comentários:

  1. Este comentário foi removido por um administrador do blog.

    ResponderExcluir
  2. Parabens, eu essencialmente aprecio esse tipo de trabalho

    ResponderExcluir
  3. estou cursando cic e curti a esplicação. Bem elaborada, parabens...

    ResponderExcluir
    Respostas
    1. Esta/estava estudando, mas a esplicação, não se explica! Espero que tenha mudado desde 2013.

      Excluir
  4. obrigado, foi muito transparente sua maneira de ensinar, valeu!!!

    ResponderExcluir
  5. Obrigada aprendi bastante.

    ResponderExcluir
  6. Se possível, faça um post ensinando conversões e cálculos com números negativos.

    ResponderExcluir
  7. Obrigado por sua explicação, me ajudará muito na minha prova.

    ResponderExcluir
  8. q massa! Aprendi facil

    ResponderExcluir
  9. Eu tenho uma duvida! Usamos CDEF na mesma ordem a partir do A e B, quer dizer se 11=a 12=b então 13=c 14=d 15=e 16=f.

    ResponderExcluir
    Respostas
    1. A sequencia normalmente é dada no enunciado dos exercicios indicando uma referencia, assim pode ser. Qualquer variável alfabetica, porem normalmente seguem a sequencia apresentada.

      Excluir
  10. Desculpa cometi um erro no meu comentário anterior o A=12 e assim por diante eu havia posto A=11!

    ResponderExcluir
  11. Nossa! Estava me preparando para uma prova, li vários sites em japonês e n estava conseguindo entender, fui procurar em português e encontrei aqui a explicação do que n estava conseguindo entender de jeito nenhum!rs.
    Só para confirmar se estou fazendo certinho o C, será que vc n poderia postar a respostas tb?rs

    ResponderExcluir
  12. Conteúdo de grande utilidade, meus parabéns !
    Estou fazendo curso de hardware e o professor estava dando algumas explicações básicas e eu fiquei curioso para saber mais e aqui foi o lugar certo, obrigado!

    ResponderExcluir
  13. Galera. Obrigado pelas contribuições. Em breve mais conteúdos.

    ResponderExcluir
  14. sou um pouco burro e não entendi . acho que porque eu estou aprendendo sozinho. acho que quando cursar ciencias da computaçao ira melhorar rsrs .

    ResponderExcluir
  15. Estou estudando Programação e Gerenciamento de Software, e sua explicação me ajudou bastante. Obrigada ^^

    ResponderExcluir
  16. muito boa a matéria curti muito, p primeiro é um meio mais complicado de somar os números binários e assim eu não o uso muito eu uso mais a matemática mesmo dividindo os números por 2 e tal; sou programador hacker, técnico em segurança de redes, desenvolvedor, engenheiro de software, web-design, design gráfico e estudo engenharia social.

    ResponderExcluir