Loading [MathJax]/jax/output/HTML-CSS/jax.js

Cursos / Redes de Computadores / Matemática Aplicada / Aula

arrow_back Aula 06 - Números Binários

Atividade 01

  1. Converta os seguintes números binários para decimal.
    1. 110112
    2. 101012
    3. 10012
    4. 1111002
play_circle_filled
Vídeo 03 - Atividade 01

Dessa forma, sabemos traduzir uma representação binária em decimal, ou seja, conseguimos traduzir uma representação que o computador consegue entender para uma que nós conseguimos entender. Mas, quando estamos programando, podemos precisar fazer o contrário. Como então obter a representação binária de um número?

Nesse caso, precisamos usar de novo a definição da notação posicional, mas de maneira um pouco diferente. Para obter a representação binária de um número, que vamos chamar de x, devemos executar uma sequência de passos, que vão transformar nosso número na representação decimal como uma soma de potências de base 2, para podermos obter a representação binária do número. Vamos aos passos:

  1. Encontrar a maior potência de 2 menor ou igual a x, ou seja, encontrar n, tal que 2nx2n+1. A representação binária de x terá então n+1 bits (posições de zero a n), com o bit n igual a 1.
  2. Subtrair esse valor do valor a ser representado (x). O resultado da subtração é um novo número a ser convertido.
    1. Se esse novo número é maior ou igual a 2, retornar ao passo 1.
    2. Caso contrário (o resultado da subtração é 0 ou 1), esse resultado é o coeficiente de posição zero.
  3. Montar a representação binária com os coeficientes identificados no processo em suas respectivas posições, completando eventuais coeficientes ausentes com zeros.

Exemplo

Se x=324, a maior potência de 2 menor ou igual a 324 é 28=256. Isso significa que a representação binária de 324 terá 9 bits, indo do bit zero ao bit 8, e que na posição 8 teremos um 1.

Posição 8 7 6 5 4 3 2 1 0
bit 1 ? ? ? ? ? ? ? ?

Fazendo agora o passo 2, temos que 324256=68. Como 68 é maior do que 2, a regra 2.a. deve ser aplicada, ou seja, voltamos ao passo 1. A maior potência de 2 menor ou igual a 68 é 26=64. A representação binária de 68 terá então um bit 1 na posição 6.

Posição 8 7 6 5 4 3 2 1 0
bit 1 ? 1 ? ? ? ? ? ?

Fazendo de novo o passo 2, temos que 6864=4. Como 4 é maior do que 2, aplicamos novamente a regra 2.a. que nos diz para voltarmos ao passo 1. A maior potência de 2 menor ou igual a 4 é 22=4. A representação binária de 4 terá então um bit 1 na posição 2.

Posição 8 7 6 5 4 3 2 1 0
bit 1 ? 1 ? ? ? 1 ? ?

Fazendo mais uma vez o passo 2, temos que 44=0<2. Aplicamos, então, a regra 2.b, que diz que a posição zero deve ser preenchida com esse coeficiente, ou seja, 0. Em seguida, passamos ao passo 3, que diz que todas as posições intermediárias também devem ser preenchidas com zeros. Temos então como resultado final:

Posição 8 7 6 5 4 3 2 1 0
bit 1 0 1 0 0 0 1 0 0

ou 1010001002.

Adicional: Seguem vídeos mostrando o método das divisões sucessivas.

play_circle_filled
Vídeo 04 - Conversão decimal para binário
play_circle_filled
Vídeo 05 - Exemplo

Versão 5.3 - Todos os Direitos reservados