Você está na página 1de 7

UEA/EST

Organização e Arquitetura de Computadores

Nome: Níckolas Javier Santos Livero


Matrícula: 2115310042

ATIVIDADE 10.2
Bloco 1
Problemas (páginas 313 e 314)
Problemas 10.1. a 10.19 (somente)
10.1. Represente os seguintes números decimais em binário na representação
sinal-magnitude e em complemento de dois, usando 16 bits: + 512; - 29.
RESPOSTA:
512 para binário:
512%2 = 0
256%2 = 0
128%2 = 0
64%2 = 0
32%2 = 0
16%2 = 0
8%2 = 0
4%2 = 0
2%2 = 0
1%2 = 1

= 000 0010 0000 0000(16 bits)

- 29 para binário:
29%2 = 1
14%2 = 0
7%2 = 1
3%2 = 1
1%2 = 1

= 100000000011101(16 bits)

(NOT -29 = 1111111111100010 )+ 1 = 1111111111100011

10.2. Represente os seguintes valores em complemento de dois em decimal:


1101011; 0101101.
RESPOSTA:
NOT 1101011 = 0010100+1
1010101 em decimal = -2110

0101101 = 4510
10.3. Outra representação de inteiros binários que às vezes é encontrada é o
complemento de um. Inteiros positivos são representados da mesma maneira que
sinal-magnitude. Um inteiro negativo é representado tomando-se o complemento
booleano de cada bit do número positivo correspondente.

d. Forneça uma definição de números com complemento de um usando uma soma


ponderada de bits, semelhante às equações 10.1 e 10.2.
RESPOSTA:
A = -2n-1 an-1 + somatório de 21ªi + 1; com n-2

e. Qual é o intervalo de números que pode ser representado no complemento de


um?
RESPOSTA:
-(2n-1-1) = -2n-1+1

f. Defina um algoritmo para realizar adição na aritmética de complemento de um.


Obs.: a aritmética de complemento de um desapareceu do hardware na década de
1960, mas ainda sobrevive nos cálculos de soma de verificação para o Internet
Protocol (IP) e o Transmission Control Protocol (TCP).
RESPOSTA:
1: Adicionar bit por bit, pela esquerda, semelhante a um numero binário.
2: Se passar pelo bit mais à esquerda, adicionar de volta pelo bit mais à direita.

10.4. Some as colunas da Tabela 10.1 para sinal-magnitude e complemento de um.


RESPOSTA:
Distancia: -2n-1 +1 to 2n-1 – 1
Representação do zero: 2
Negação: NOT em todos os bits
Expansão da largura: preencher as posições com o bit mais à esquerda
Overflow: o mesmo do complemento de dois
Subtração: adicionar complementos de dois no número subtraído

10.5. Considere a seguinte operação em uma palavra binária. Comece com o bit
menos significativo. Copie todos os bits que são 0 até que o primeiro bit seja
alcançado e copie esse bit também. Então, pegue o complemento a cada bit depois
disso. Qual é o resultado?
RESPOSTA:
A palavra binária X possui n bits, o resultado seria 2n-X

10.6. Na Seção 10.3, a operação em complemento de dois é definida da seguinte


forma. Para encontrar o complemento de dois de X, apanhe o complemento
booleano de cada bit de X, e depois some 1.

a. Mostre que o seguinte é uma definição equivalente. Para um inteiro de n bits X,


o complemento de dois de X é formado tratando X como um inteiro sem sinal e
calculando (2n – X).
RESPOSTA:
Adicionando 1 à equação retorna à definição dos bits de complemento de dois
b. Demonstre que a Figura 10.5 pode ser usada graficamente para dar suporte à
afirmação na parte (a), mostrando como um movimento em sentido horário é
usado para conseguir a subtração.
RESPOSTA:
Subtraindo X é análogo a rotacionar a posição de X no contador, similarmente,
adicionando -1, é feito rotacionando 2n – X posições, o que é a definição do
complemento de a.

10.7. O complemento a r de um número de n dígitos N na base r é definido como


rn - N para N Z 0 e 0 para N = 0. Encontre o complemento de dez do número
decimal 13.250.
RESPOSTA:
Rn – N = 105 – 13250 = 86750

10.8. Calcule (72.530 - 13.250) usando a aritmética em complemento de dez.


Considere regras semelhantes àquelas para a aritmética de complemento de dois.
RESPOSTA:
105 – 13250 = 86750
86750 + 72532 = 159282
Remover o overflow: 59282

10.9. Considere a adição em complemento de dois de dois números de n bits:


zn-1zn-2... z0 = xn-1xn-2... x0 + yn-1yn-2... y0
Suponha que a adição bit a bit seja realizada com um bit de carry ci gerado pela
adição de xi, yi, e ci-1. Considere que v seja uma variável binária indicando
overflow quando v = 1. Preencha os valores na tabela.
Entrada
xn-1 0 0 0 0 1 1 1 1
yn-1 0 0 1 1 0 0 1 1
cn-2 0 1 0 1 0 1 0 1

Saída
RESPOSTA:
zn-1 1 0 0 1 0 1 1 0
v00101011

10.10. Suponha que os números sejam representados em complemento de dois com


8 bits. Mostre o cálculo
do seguinte:
a. 6 + 13
RESPOSTA:
6 = 00000110
13 = 00001101

= 00010011 = 19 decimal
b. -6 + 13
RESPOSTA:
-6 = 11111010
13 = 00001101
= 1 00000111
Remover o 1 da esquerda
= 0111 = 7 decimal

c. 6 – 13
RESPOSTA:
Análogo a alternativa anterior(-6 + 13 = 6 +(-13)) com o sinal trocado
1 00000111
= 111 = -7 decimal

d. -6 - 13
RESPOSTA:
-6 – 13 = (-6) + (-13)
11111010 + 11110011 = 00010011
= 10011 = -19 decimal

10.11. Ache as seguintes diferenças usando a aritmética em complemento de dois:


a. 111000; -110011
----------
001100
+ 1
----------
001101

111000
001101
-----------
1000101

1000101 – 11011 = 101

b. 11001100; -101110
----------
00101110
------------
11010001
+ 1
------------
11010010

11001100
11010010
-------------
110011110

11001100 – 10110 = 10011110

c. 111100001111; -110011110011
---------------------
001100001100
+ 1
--------------------
001100001101

111100001111
001100001101
----------------------
1001000011100

111100001111 – 110011110011 = 1000011100

d. 11000011; -11101000
--------------
00010111
+ 1
--------------
00011000

11000011
00011000
---------------
11011011

11000011 – 00010111 = 11011011

10.12. A seguinte definição de overflow na aritmética em complemento de dois é


uma definição alternativa válida? Se o OU exclusivo dos bits de carry in e carry
out da coluna mais à esquerda for 1, então existe uma condição de overflow. Caso
contrário, não existe.
RESPOSTA: O indicador de um overflow acontece quando a soma de dois números
de mesmo sinal resulta em um numero de sinal diferente.

10.13. Compare as figuras 10.9 e 10.12. Por que o bit C não é usado na segunda?
RESPOSTA: Na figura 10.12, em uma etapa, a adição é realizada, na próxima, a
subtração, e assim por diante. Por causa disso, o overflow nunca pode acontecer e um
C não é necessário.
10.14. Dados x = 0101 e y = 1010 na notação em complemento de dois (ou seja, x =
5, y = -6), calcule o produto p = x * y com o algoritmo de Booth.
RESPOSTA:
A Q Q–1 operações
0000 1010 0 valores iniciais
0000 0101 0 troca aritmética
1011 0101 0 AA–M
1101 1010 1 troca aritmética
0010 1010 1 AA+M
0001 0101 0 troca aritmética
1100 0101 0 AA–M
1110 0010 1 troca aritmética

10.15. Use o algoritmo de Booth para multiplicar 23 (multiplicando) por 29


(multiplicador), onde cada número é representado usando 6 bits.
RESPOSTA:
Converter os números binários de 6-bits complemento de dois
23(10) = 010111
29(10) = 011101

10.16. Prove que a multiplicação de dois números de n dígitos na base B gera um


produto de não mais do que 2n dígitos.
RESPOSTA:
(B^n – 1)x(B^n – 1) <= B^2n - 1
B^2n -2 x B^n -1 <= B^2n - 1
-2 x B^n + 1 >= 1
A inequação é verdadeira para B > 1 e n >= 1.

10.17. Verifique a validade do algoritmo de divisão binária sem sinal da Figura


10.16 mostrando as etapas envolvidas no cálculo da divisão, representado na
Figura 10.15. Use uma apresentação semelhante à da Figura 10.17.
RESPOSTA:
O dividendo é 10010011 e o divisor 1011. O divisor é guardado em M.
A Q operações
00000000 10010011 valores iniciais
00000001 00100110 troque A, Q
11110110 AA–M
00000001 00100110 Q(0) = 0, A  A + M
00000010 01001100 troque A, Q

10.18. O algoritmo de divisão de inteiros em complemento de dois, descrito na


Seção 10.3, é conhecido como método restaurador, pois o valor no registrador A
deve ser restaurado após uma subtração sem sucesso. Uma técnica um pouco mais
complexa, conhecida como não restauradora, evita subtrações e adições
desnecessárias. Proponha um algoritmo para essa última técnica.
RESPOSTA:
O dividendo é 10010011 e o divisor 1011. O divisor é guardado em M.
n M A Q operações
4 00011 00000 1010 inicialização
00011 00001 101? Troque AQ
00011 11110 010? A=A–M
00011 11110 0100 Q0
3 00011 11100 100? Troque AQ
00011 11111 100? A=A+M
00011 11111 000? Q0
2 00011 11111 000? Troque AQ
00011 00010 000? A=A+M
00011 00010 0001 A1
1 00011 00100 001? Troque AQ
00011 00001 001? A=A+M
00011 00001 0011 A1
0 3 1 3

10.19. Sob a aritmética de inteiros por computador, o quociente J/K de dois


inteiros J e K é menor ou igual ao quociente normal. Verdadeiro ou falso?
RESPOSTA: Falso, porque para números negativos é maior ou igual ao expoente.

Você também pode gostar