Você está na página 1de 2

LISTA DE EXERCÍCIOS 2 - FUNDAMENTOS DE SISTEMAS COMPUTACIONAIS - T099

• A presente lista contempla os seguintes tópicos:

– Sistemas de numeração binário e hexadecimal.


– Aritmética de números binários em notação por complemento de 2.
– Notação binária com ponto flutuante para números reais.

1. Quantas unidades existem em 891 se ele for um número em cada uma das bases a seguir?

a) Base 10
b) Base 8
c) Base 12
d) Base 13
e) Base 16

2. Os sistemas de numeração octal, decimal, hexadecimal e binário são todos importantes na computação por diferen-
tes razões, e cada um deles desempenha um papel especı́fico no armazenamento, processamento e representação de
dados. Nesse sentido, aplique os conhecimentos obtidos em sala e converta os seguintes números da base indicada
para a base solicitada.
a) 1112 para base 10
b) 1118 para base 10
c) CAF E16 para base 10
d) CA16 para base 2
e) 1010101102 para base 8
e) 1011010102 para base 16
3. Imagine que você é um engenheiro de software trabalhando no desenvolvimento de um software de controle de
inventário para uma grande rede de supermercados. A chegada de um novo produto apresenta a quandidade B =
111100102 . Você precisa adicionar a quantidade recebida à quantidade atual em estoque que é A = 11010111112 .
a) Após a inserção do novo produto, qual quantidade total do estoque na base 2.
b) Suponha que um determinado cliente comprou 11112 do estoque total. Quanto ainda resta desse produto?
4. Resolva as seguintes expressões, sendo:
A = 101012
B = 112
a) A · B
b) A/B
5. O Motorola 68000, muitas vezes chamado de ”MC68000”ou ”M68k”, foi um microprocessador de 16/32 bits
amplamente utilizado em computadores e sistemas embutidos na década de 1980 e inı́cio da década de 1990. O
Sega Genesis (conhecido como Sega Mega Drive fora da América do Norte), por exemplo, usava um processador
Motorola 68000 como parte de sua arquitetura, utilizando uma Word de 16 bits. Suponha que os dados abaixo
foram amarzenados no processador M68k do Sega Mega Drive. Uma instrução de transferência de dados copia
esse número para uma Word. Seu valor não é alterado. Realize a conversão dos números a seguir para números
com notação por complemento de 2 na word do processador.
a) 73210
b) −62210
c) −102410
d) −33310
Considere o enunciado a seguir para resolução das questões 6,7 e 8.
Questões de ponto flutuante são fundamentais na programação, pois envolvem a representação e o processa-
mento de números reais (números decimais) em sistemas de computação que usam representações binárias. Isso
pode afetar a precisão e a exatidão dos cálculos realizados pelos programas.Em termos de jogos, para proporcionar
uma experiência imersiva e realista, muitas vezes é necessário usar números de ponto flutuante de alta precisão
para evitar problemas de jitter (pequenas variações na posição dos objetos) e colisões imprecisas.
Como desenvolvedor de jogos, você está trabalhando em um projeto que visa criar uma experiência de jogo
extremamente imersiva e realista. No entanto, você notou que alguns objetos no jogo estão sofrendo de jitter e
colisões imprecisas devido à falta de precisão nos números de ponto flutuante usados. Você decide abordar esse
problema, e um dos passos cruciais é levar os números de ponto flutuante para o padrão IEEE 754 de alta precisão.
Nesse sentido, resolva as questões de 6 a 8 com base nos conteúdos abordados em sala.
6. Converta os seguintes números reais de decimal para binário (com no máximo 5 posições binárias):
a) 7, 2510
b) 12, 7510
c) 0, 6810
d) 4, 62510
7. Converta os números binários obtidos na questão 6 para sua forma normalizada.

8. Converta os números binários obtidos na questão 6 para o padrão IEEE-754.


9. Considere as variáveis A e B no formato padrão IEEE-754. Responda os itens a seguir e apresente as
respostas em formato decimal.

Variável Número Padrão IEEE-754


A 01000011111000000000000000000000
B 11000010010100010000000000000000

a) A + B
b) A − B
10. Um programa rodando em um Arduino Uno armazena em uma variável do tipo INT os valores de uma operação
matemática de soma. Em determinado instante, a variável está armazenando o valor 32.767 e é somada com o
valor 16. Ao analisar o resultado da operação em um monitor serial, um programador conclui que ocorreu um
Overflow, pois o resultado exibido no monitor é um número negativo.
a) Mostre os cálculos da operação binária realizada pelo processador do Arduino.
b) Mostre o valor em decimal negativo que o programador viu no Monitor Serial.

11. Os números apresentados a seguir foram formatados pelo padrão IEEE 754, ponto flutuante, de precisão simples
e escrito utilizando notação hexadecimal. Escreva o número em notação cientı́fica decimal.
Obs.: o prefixo 0x serve apenas para informar que se trata de um número hexadecimal e não faz parte do número.
a) 0x437C000
b) 0xc3110000
OBS.: Importante revisar os demais exerı́cios resolvidos em sala sobre os conteúdos aqui abordados!

Você também pode gostar