Binário
Com esse simples artigo vou mostrar como é feita a conversão e algumas operações bem úteis com o sistema binário e não será abordado nenhuma operação ou conversão com números com sinal. Esse sistema numérico é famosíssimo na informática e é um pouco obrigatório entendê-lo (principalmente se você quer “escovar bits” algum dia), pois as “máquinas” nas quais trabalhamos usam este sistema numérico para realizar todas as operações.
Primeiramente o nome do sistema númerico já ajuda bastante a entender como ele pode ser.
Binário significa que o sistema tem apenas 2 algarismos (1 e 0); decimal tem 10 algarismos, hexadecimal tem hexa(6) + decimal(10), total de 16, porém, como só conhecemos 10 algarismos, letras são usadas para completar o sistema, de A a F; octal tem oito algarismos…
* Na informática é comum ouvir falar e trabalhar com bits e bytes. Um bit é um dígito binário (1 ou 0) e um byte é um conjunto de oito bits. Existe também o termo nibble, cada nibble representa 4 bits.
Uma observação no sistema decimal
Todos nós estamos acostumados a fazer cálculos usando o sistema decimal. Somas, subtrações, multiplicações e divisões. A maneira como olhamos para os números é tão normal que parece ser o único sistema numérico.
Se virmos o número 123, por exemplo, raramente pensaríamos nele como:
1×102 + 2×101 + 3×100 (1 está na casa da centena, 2 na dezena e 3 como unidade).
* Sempre que for citado um número com outro subscrito, ao lado, será o número em determinado sistema numérico.
Exemplo: 12310 significa 123 no sistema decimal
Conversão decimal para binário
CONVERSÃO ENTRE INTEIROS:
Qualquer número a ser convertido, independente do número de algarismos, segue esse padrão. Peguemos o número 12310 como exemplo para conversão para binário. O que precisa ser feito é divisões inteiras sucessivas até chegar no quociente zero e anotar os restos das divisões.
123 |__2__
1 61 |__2__
1 30 |__2__
0 15 |__2__
1 7 |__2__
1 3 |__2__
1 1 |__2__
1 0
Agora organizando de baixo para cima os restos, temos 11110112.
* Observação: tratando-se de divisão por 2 sempre que o dividendo for ímpar o resto será 1, se for par será 0.
No sistema binário, assim como no decimal, zeros à esquerda antes de vírgula são desconsiderados e muitas vezes são úteis para preencher lacunas. Por exemplo, o número 123 tem 7 bits e se quisermos representá-lo como se fosse 1 byte, poderíamos escrever 0111 10112 sem problemas.
CONVERSÃO ENTRE DECIMAIS FRACIONÁRIOS:
As conversões entre decimais fracionários são feitas pegando somente a parte fracionária e multiplicando por dois até que a parte fracionária seja zero, porém há casos em que nunca se chega a zero e é comum adotar uma precisão, caso contrário a divisão nunca terminaria. Depois de feito este passo basta pegar as partes inteiras dos produtos e organizar na ordem em que foram encontradas, assim teremos a parte fracionária em binário.
Exemplo:2.2510 210 = 102 0.25 0.50 x 2 x 2 ----------- ------------- 0.50 1.00
Assim temos a parte decimal representada por 012, não podendo eliminar os zeros à esquerda, pois estão depois da vírgula.
2.2510 = 10.012
Convertendo de binário pra decimal: 1x2^1 + 0x2^0 + 0x2^-1 + 1x2^-2 = 2+0+0+0.5 = 2.5
Um exemplo de nunca resultar em 0 a parte fracionária é o número 67.57510:
6710 = 10000112 0.575 0.150 0.300 0.600 0.200 0.400 0.800 0.600 x 2 x 2 x 2 x 2 x 2 x 2 x 2 x 2 ------------- ------------- ------------- ------------- ------------- ------------- ------------- ------------- 1.150 0.300 0.600 1.200 0.400 0.800 1.600 1.200
Note que começa a repetir as divisões, é uma divisão sem fim, por isso temos que aproximar.
Nesse caso, 67.57510 = 1000011.100100112
Soma no sistema binário
Para entender como funciona a soma no sistema binário é necessário saber os seguintes resultados:
Tabelinha:
0 + 0 = 0
1 + 0 = 1
0 + 1 = 1
1 + 1 = 0 * (e vai um, do inglês carry)
* Este “vai um” significa que o resultado da soma de 1+1 é 0 e soma-se 1 no próximo valor à esquerda.
Entendendo isto fica muito fácil e já podemos aplicar o nosso conhecimento, não há mistérios.
* *
1 1 0
+ 0 1 1
-----
1 0 0 1
Explicação rápida: Como no sistema decimal, começamos a somar da esquerda pra direita.
O valor do “vai um” será representado por um asterisco e vale sempre 1.
0 + 1 = 1 1 + 1 = 0 e vai um, * + 1 = 0 e vai um, * + 0 = 1 (zeros à esquerda podem ser adicionados sem alterar valores)
Subtração no sistema binário
Entendendo o que foi citado acima, neste texto, não há dificuldades em subtrair binários, a única diferença na tabelinha de resultados é que 0 – 1 = 1 e vai um.
Tabelinha:
0 - 0 = 0
1 - 0 = 1
0 - 1 = 1 * (e vai um pra ser subtraído do próximo digito à esquerda)
1 - 1 = 0
Exemplo:
* * *
1 0 1 0
- 0 1 1 1
-------
0 0 1 1
O valor do “vai um” será representado por um asterisco e vale sempre 1.
Explicação rápida:
0 - 1 = 1 e vai um 1 - * = 0 e 0 - 1 = 1 e vai um 0 - * = 1 e vai um e 1 - 1 = 0 1 - * = 0
Multiplicação no sistema binário
Para aprender a multiplicação é necessário o conhecimento da soma com binários e saber que:
Tabelinha: 0 * 0 = 0 1 * 0 = 0 0 * 1 = 0 1 * 1 = 1
Então a multiplicação só será 1 quando ambos termos forem 1.
Exemplo:
1 1 0 0
x 0 1 0 1
-------
1 1 0 0
0 0 0 0 +
1 1 0 0 +
0 0 0 0 +
-------------
0 1 1 1 1 0 0
* Observação: Se o bit do multiplicador for 1, repete o multiplicando. Se for 0, o resultado será imediatamente 0
Divisão no sistema binário
Conhecendo a subtração no sistema binário e sabendo dividir inteiros no sistema decimal já é mais do que suficiente para realizar divisões. Caso queira tirar a prova real, a multiplicação entre binários é necessária.
Na divisão não há como criar uma tabelinha, pois a cara hora varia o comprimento do dividendo e do divisor, por isso a necessidade de conhecimento de divisão no sistema decimal.
Exemplificando:
1 0 1 0 1 |__1 1 1___
- 0 0 0 0 1 1
------
1 0 1 * * *
1 0 1 0
- 1 1 1
--------
0 0 1 1 0 0 1 1 1
- 1 1 1
----------
0 0 0 0 0
Observações
#1 – O bit mais à direita de um número binário é conhecido como LSB (Least Significant Bit) e o mais à esquerda como MSB (Most significant Bit).
#2 – Para multiplicar um número binário por dois basta deslocar uma casa pra esquerda.
Por exemplo: 11 deslocado pra esquerda é 110.
#3 – Para dividir um número binário por dois basta deslocar uma casa pra direita.
Por exemplo: 1010 deslocado pra direita é 101.
#4 – Todo número decimal par termina com 0 em binário e todo ímpar termina com 1.
#5 – Caso exista mais de uma vez o uso de “vai um”, como em 1+1+1+1, é acumulativo para o próximo dígito.
Por exemplo: 1+1+1+1 = 100 (observação de um comentário)
#6 – Tratando-se de números com sinal há maneiras diferentes de representa-los e o artigo não aborda essas maneiras. (Entre elas estão complementos para 2).
Algumas consultas à Wikipedia foram feitas, a página de binário deles está aqui.

Achei as explicacoes fracas. Nao foram tratados casos de excecao. E se, na multiplicacao, a soma de colunas for 1+1+1+1 ? E se o resultado da subtracao for um numero negativo?
Por: leo em fevereiro 24, 2008
às 12:08 pm
gostaria de saber mais um pouco sobre a multiplicação . como è feita.
grato
Jose
Por: jose em setembro 6, 2008
às 7:32 pm
Me ajudou bastante. Fico muito grato
Por: Antonio em setembro 16, 2008
às 5:44 pm
cara, dá pra explicar melhor como se faz essa divisão de binários…
Por: thiago em novembro 21, 2008
às 12:57 pm
eu acho que teria que ter mais coisas sobre o sistema binário para tirarmos alguma curiosidade
Por: jeca em março 24, 2009
às 9:12 pm
não sei
Por: washington em março 25, 2009
às 11:42 am
não sei como explicar
Por: washington em março 25, 2009
às 11:43 am
não sei como fazer
Por: washington em março 25, 2009
às 11:46 am
Se no seguinte binário 0100 o LSB é o mais a esquerda, então seu correspondente decimal é 2. Agora, se o LSB é o mais a direita então o decimal é 8.
LSB é o bit menos significativo. Ao converter o binário em decimal é importante saber disso.
No sistema decimal nós estamos acostumados com o LSB mais à esquerda, seria a unidade. O segundo mais a esquerda é a dezena e é o algarismo mais significativo que o mais a esquerda da palavra. O terceiro é a casa da centena, e assim por diante.
Em decimal, 12 é doze com o LSB mais a esquerda e é vite e um com o LSB mais a direita.
Por: andre em novembro 12, 2009
às 6:57 am