Soma binaria
Por: Bruno Catapano • 3/6/2015 • Trabalho acadêmico • 596 Palavras (3 Páginas) • 209 Visualizações
Macete para não errar soma binária:
Regra básica:
0+0=0
0+1=1
1+0=1
1+1=0 vai 1
1+1+1= 1 vai 1
E como saber quantos "vai 1" quando tem um monte de "uns" enfileirados?
ex: 1+1+1+1+1+1+1=?
Algoritmo:
Inicio_algoritmo
1. conta-se a quantidade de "us" -> 7
2. divide-se por 2 -> 7/2= 3 e sobra 1
3. o digito é o resto e o "vai" é o resultado -> 1 e vai 3
4. enquanto o "vai" for maior que 1, repetem-se os passos 2 e 3
Fim_algoritmo
Exemplo acima:
7/2= 3 e sobra 1 (o dígito menos significativo é 1 e vai 3)
3/2= 1 e vai 1 (o próximo dígito é 1 e vai 1)
Como o "vai" é menor que dois, este é o dígito mais significativo.
Resultado: 111
Outro exemplo:
1+1+1+1+0+1+0+1+1+0+1
São 8 "uns"
8/2=4 e sobra 0 (0 dígito menos significativo é 0 e vai 4)[pic 1]
4/2=2 e sobra 0 (o próximo dígito é 0 e vai 2)
2/2=1 e sobra 0 (o próximo dígito é 0 e vai 1)
1 (como 1 < 2, este é o dígito mais significativo)
Resultado:
1000
Isso facilita na hora de somar aquele monte de uns nas multiplicações.
Basta contar os uns e efetuar a primeira divisão. O dígito é o resto e o"vai" (resultado da divisão) soma-se com os "uns" da próxima coluna. E assim por diante.
Ex:
11011
* 111011
--------------[pic 2][pic 3][pic 4][pic 5][pic 6]
11011[pic 7][pic 8][pic 9][pic 10][pic 11]
11011+
00000++
11011+++
11011++++
11011+++++
________________________________
soma:2444553221
resultado: 11000111001
vai:1222221110
primeira coluna: 1 e vai 0
segunda coluna: dois uns. 2/2 = 1 e sobra 0 = 0 e vai 1
terceira coluna: 1 mais o vai 1= 2. 2/2 = 1 e sobra 0 = 0 e vai 1
quarta coluna: dois uns e mais o vai 1= 3 uns. 3/2=1 e sobra 1 = 1 e vai 1
quinta coluna: quatro uns e mais o vai 1= 5 uns. 5/2=2 e sobra 1 = 1 e vai 2
sexta coluna: 3 uns e vai 2=5. 5/2 = 2 e sobra 1 = 1 e vai 2
sétima coluna: 2 uns e vai 2 = 4. 4/2= 2 e sobra 0 = 0 e vai 2
oitava coluna: dois uns e vai 2=4. 4/2=2 e sobra 0 = 0 e vai 2
nona coluna: dois uns e vai 2=4. 4/2 = 2 e sobra 0 = 0 e vai 2
décima coluna: um um e vai dois= 3. 3/2 = 1 e sobra 1 = 1 e vai 1
o último "vai" é o dígito mais significativo.
resultado: 1100011101
outro exemplo:
101011
* 11111
_____________[pic 12]
101011[pic 13][pic 14][pic 15][pic 16][pic 17]
101011+[pic 18]
101011++[pic 19]
...