Dividendo | Divisor | Resultado | Resto |
9999 | 2 | 4999 | 1 |
4999 | 2 | 2499 | 1 |
2499 | 2 | 1249 | 1 |
1249 | 2 | 624 | 1 |
624 | 2 | 312 | 0 |
312 | 2 | 156 | 0 |
156 | 2 | 78 | 0 |
78 | 2 | 39 | 0 |
39 | 2 | 19 | 1 |
19 | 2 | 9 | 1 |
9 | 2 | 4 | 1 |
4 | 2 | 2 | 0 |
2 | 2 | 1 | 0 |
1 | 2 | 0 | 1 |
Resposta: 10011100001111
2) O complemento a dois do número 0b1100.1001 na base 10 é:
Solução:
2.1 Primeiro faça o complemento a dois do número 1100.1001. É evidente que a resposta sairá em binário:
1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | |
1 | 1 | 0 | 0 | 1 | 0 | 0 | 1 | - |
0 | 0 | 1 | 1 | 0 | 1 | 1 | 0 | |
1 | + | |||||||
0 | 0 | 1 | 1 | 0 | 1 | 1 | 1 |
2.2 Depois converta o resultado de binário para a base 10 (lembre-se que o primeiro bit à esquerda é o bit de sinal):
0 0110111 = 0 * 2^6 + 1 * 2^5 + 1*2^4 + 0*2^3+1*2^2+1*2^1+1*2^0 = +55
Obs.: Dá para concluir que o número 0b1100.1001 representa -55.
3) Tendo em vista os valores (em complemento a dois) X=0b0011.0010, Y=0xAB e Z=-1, após realizadas as somas (W = X + Y) e (K = Y + Z) e considerando todos os números de 8bits, observa-se a ocorrência de overflow:
Escolha uma:
A. em ambas as somas
B. em nenhuma das somas
C. apenas na primeira soma
D. apenas na segunda soma
3.1 Converter todos os números para a notação binária
3.1.1 Converter Y = AB para a notação binária
3.1.1.1 Primeiro, converto para a notação decimal:
Y = AB = 10 * 16¹ + 11 * 16° = 171
3.1.1.2 Depois, converto para a notação binária:
Dividendo | Divisor | Resultado | Resto |
171 | 2 | 85 | 1 |
85 | 2 | 42 | 1 |
42 | 2 | 21 | 0 |
21 | 2 | 10 | 1 |
10 | 2 | 5 | 0 |
5 | 2 | 2 | 1 |
2 | 2 | 1 | 0 |
1 | 2 | 0 | 1 |
Y = 0xAB = 171 = 0b10101011
3.1.2 Converter Z = -1 para a notação binária:
3.1.2.1 Para achar um número negativo na notação complemento de 2, vamos achar primeiro +1 positivo:
+1 = 0b00000001
3.1.2.2 Agora, vamos achar o complemento de 2 de +1, ou seja, -1 = Z:
1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | - |
1 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | |
1 | + | |||||||
1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
Portanto Z = -1 = 0b11111111
3.2 De posse de X = 0b00110010, Y = 0b10101011 e Z=0b11111111 agora poderemos realizar as operações e verificar qual deu overflow:
3.2.1 A primeira operação W = X + Y ficaria:
1 | 1 | |||||||
0 | 0 | 1 | 1 | 0 | 0 | 1 | 0 | |
1 | 0 | 1 | 0 | 1 | 0 | 1 | 1 | + |
1 | 1 | 0 | 1 | 1 | 1 | 0 | 1 |
Esta operação não resultou em carry na 9ª casa, por isso não dá overflow.
3.2.2 A segunda operação K = Y + Z ficaria:
1 | 1 | 1 | 1 | 1 | 1 | 1 | ||
1 | 0 | 1 | 0 | 1 | 0 | 1 | 1 | |
1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | + |
1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 |
Nesta operação, como os 2 ultimos carrys são 1 também não dá overflow.
Nenhum comentário:
Postar um comentário