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. $11011_{2}$
    2. $10101_{2}$
    3. $1001_{2}$
    4. $111100_{2}$

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 $2^{n}\le x \le 2^{n+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$ é $2^{8} = 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 $324 - 256 = 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$ é $2^6 = 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 $68 - 64 = 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$ é $2^2 = 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 $4 - 4 = 0 \lt 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 $101000100_{2}$.

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

Versão 5.3 - Todos os Direitos reservados