Ciência Nerd 2: Conversão decimal real/binário

conversao_chamada2

Como prometido no primeiro post da série Ciência Nerd, estou aqui para tratar da conversão de números reais de base 10 para binário e de binário para base 10.

Relembrando os números reais:

Números reais são diferentes dos números naturais por considerar números menores que zero.

reais

– Então, tio, pra representar os binários negativos eu posso colocar um “menos” na frente?
– Hmmmm….não! Vamos tratar isso de uma forma mais “binária”.

Existem três formas de representar um número binário negativo, mas antes vamos aprender uma nova nomenclatura. Vamos chamar os números de bits.

Um bit é um numero, 0 ou 1. Um conjunto de oito bits formam 1 Byte.

bits

Sinal Magnitude

E a primeira forma de representar um número negativo em binário, é utilizando o sinal magnitude.
Um sinal magnitude funciona da seguinte maneira:

Dado um número “x” real, utilizando “n” bits, como podemos, representá-lo em binário?
O sinal magnitude é um bit, 0 ou 1 posicionado mais à esquerda dos bits – ou melhor, no bit mais significativo – onde 0 (zero) irá representar um número positivo e 1 (um) um número negativo.

Confuso, não? Não! Tente pensar nos bits como números aparecendo em telas. Se a tela estiver desligada, o bit será 0. Se a tela estiver ligada, o bit será 1. Outra forma legal de se comparar é tendo em mente que utilizamos o sinal ( – ) para representar números negativos, mas não precisamos usar sinal ( + ) para representar números positivos, então, para que ligar o bit mais significativo também para representar números positivos?

Antes de representar qualquer número negativo em binário, devemos representá-lo em positivo. Isso serve para todos os métodos apresentados nesse artigo. Então, sendo assim, em uma sequência de oito bits (um Byte), como seria o número 42 e o -42?

bits2

Assim, o 1 no bit mais significativo (à esquerda), transformará o número em negativo, e o 0 (zero) irá mantê-lo positivo.

Complemento de 1

O complemento de um é legal. Ainda mais se você gosta de mudar as coisas de lugar sempre.
O objetivo do complemento de 1 é inverter os bits, desligando os bits que estão ligados e desligando os bits que estão ligados, mas, claro, apenas para representar números negativos.
Confira como fica.

bits3

Simples, né? Mas, como nem tudo é perfeito, esses dois métodos são pouco ou quase nada utilizados.
Os computadores usam na maioria dos programas o complemento de 2.

Complemento de 2

O complemento de 2 é o processo similar ao complemento de 1, mas tem o “vai 1”.
– Como assim, Bial?

Vamos lá!
Para realizar a conversão de um número positivo para um número negativo em complemento de 2, devemos primeiro realizar o complemento de 1. O diferencial do complemento de 2 é a adição do número 1 no bit mais à direita, porém, se somar 1 + 1 vai dar 2. Chegamos a um impasse.

Vamos voltar ao decimal e entender como funciona.

comp-decimal-binario

Como não temos um algarismo maior do que o 9, quando passamos de 9, colocamos o dígito 1 para frente e trazemos o zero para a posição do nove. Depois, fazemos com o próximo dígito e assim sucessivamente. A mesma coisa acontece com o binário. Por exemplo, o 2. Zeramos o número à direita e trazemos 1 para frente dele.

No caso do “vai 1”, não temos “2” em binário (nem mesmo dizemos “dois”. Dizemos “um – zero”), assim, na hora de somar o bit adicional, se der mais que 1, zeramos o resultado e fazemos o “vai 1” para o próximo bit à esquerda. Quando não tiver mais “vai 1”, basta repetir os números da sequência.

bits4

Bem, espero que eu tenha alcançado o objetivo de ser claro e…objetivo.
O próximo artigo ensinará a representar números fracionários em binário.

Abração, Geeks, e até a próxima!

Anúncios

5 opiniões sobre “Ciência Nerd 2: Conversão decimal real/binário”

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s