Faça as operações Aritméticas no sistema binário: como faz?
a) 100101010₂ + 101010111₂
b) 101010110₂ – 010110111₂
c) 100000000₂ – 000010011₂
d) 111111111₂ + 101010101₂
Soluções para a tarefa
Resposta:
a) 641 ou 1010000001
b) 159 ou 10011111
c) 237 ou 11101101
d) 852 ou 1101010100
Explicação:
Pra começar precisamos passar os números de binário para decimal. Para tal seguimos a seguinte lógica, primeiro pegamos quantas casas o número tem e subtraímos -1, depois você irá multiplicar cada 1 e 0 por 2 elevado a casa correspondente. Ex. 101 tem 3 casas, 3 - 1 = 2 essa será a potência inicial e irá descrescendo até 0. Ficando:
(1 * 2^2) + (0 * 2^1) + (1 * 2^0)
4 + 0 + 1
= 5
Lembrando que 0 a esquerda não precisa entrar na quantidade de casas então 00000010 só teria 2 casas -1 = 1. E Também caso queira pode simplesmente pular os 0 multiplicados por 2^x, lembrando sempre de descrescer a potência a cada casa mesmo que esta seja 0.
Agora vamos lá para esses números mais complexos:
a) 100101010₂ + 101010111₂
100101010 = (1 * 2^8) + (0 * 2^7) + (0 * 2^6) + (1 * 2^5) + (0 * 2^4) + (1 * 2^3) + (0 * 2^2) + (1 * 2^1) + (0 * 2^0) = 298
101010111 = (1 * 2^8) + (0 * 2^7) + (1 * 2^6) + (0 * 2^5) + (1 * 2^4) + (0 * 2^3) + (1 * 2^2) + (1 * 2^1) + (1 * 2^0) = 343
Soma = 298 + 343 = 641
b) 101010110₂ – 010110111₂
101010110 = (1 * 2^8) + (0 * 2^7) + (1 * 2^6) + (0 * 2^5) + (1 * 2^4) + (0 * 2^3) + (1 * 2^2) + (1 * 2^1) + (0 * 2^0) = 342
010110111 = (1 * 2^7) + (0 * 2^6) + (1 * 2^5) + (1 * 2^4) + (0 * 2^3) + (1 * 2^2) + (1 * 2^1) + (1 * 2^0) = 183
Subtração = 342 - 183 = 159
c) 100000000₂ – 000010011₂
100000000 = (1 * 2^8) + (0 * 2^7) + (0 * 2^6) + (0 * 2^5) + (0 * 2^4) + (0 * 2^3) + (0 * 2^2) + (0 * 2^1) + (0 * 2^0) = 256
000010011 = (1 * 2^4) + (0 * 2^3) + (0 * 2^2) + (1 * 2^1) + (1 * 2^0) = 19
Subtração = 256 - 19 = 237
d) 111111111₂ + 101010101₂
111111111 = (1 * 2^8) + (1 * 2^7) + (1 * 2^6) + (1 * 2^5) + (1 * 2^4) + (1 * 2^3) + (1 * 2^2) + (1 * 2^1) + (1 * 2^0) = 511
101010101 = (1 * 2^8) + (0 * 2^7) + (1 * 2^6) + (0 * 2^5) + (1 * 2^4) + (0 * 2^3) + (1 * 2^2) + (0 * 2^1) + (1 * 2^0) = 341
Soma = 511 + 341 = 852
Caso queira converter o resultado de decimal para binário basta ir dividindo o valor por /2 e verificar se o resto da divisão é 1, que é o que acontece quando o número é ímpar, ou 0 quando o número é par. Sempre quando a divisão não for exata a gente arredonda o número para baixo ex. 63/2 = 31,5 ficando 31. Depois basta pegar todos os 1 e 0 da direita para a esquerda e compor o número binário. Ex.
10 = 10/2 resto 0, 5/2 resto 1, 2/2 resto 0, 1/2 neste caso também é 1, pegando da direita para esquerda temos que 10 = 1010
10 = 10/2 0, 5/2 1, 2/2 0, 1/2 1 = 1010
Agora aplicando isso nos valores do exercícios anteriores:
a) 641 = 641/2 1, 320/2 0, 160/2 0, 80/2 0, 40/2 0, 20/2 0, 10/2 0, 5/2 1, 2/2 0, 1 1 = 1010000001
b) 159 = 159/2 1, 79/2 1, 39/2 1, 19/2 1, 9/2 1, 4/2 0, 2/2 0, 1 1 = 10011111
c) 237 = 237/2 1, 118/2 0, 59/2 1, 29/2 1, 14/2 0, 7/2 1, 3/2 1, 1 1 = 11101101
d) 852 = 852/2 0, 426/2 0, 213/2 1, 106/2 0, 53/2 1, 26/2 0, 13/2 1, 6/2 0, 3/2 1, 1 1 = 1101010100