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

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