sábado, 1 de setembro de 2012

Arquitetura de Computadores - Aula III - Decimais, Binários e Hexadecimais

1) Conversão de 9999 em binários:

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