Questão 1 ( 0,5 ponto cada) Marque (
) se Verdadeira e (
) se Falsa:
O número 1010 se escreve na base 2 como
.
O número
escrito na base 10 , é igual a 0.695521 .
Se o sistema
tem exatamente 433 elementos, então
é um número ímpar.
Existe um sistema de ponto flutuante da forma
, tal que a soma do seu maior elemento
, com o menor elemento
é
.
(
) Representando-se
no sistema
tem-se underflow.
(
Passo 1
O enunciado pede para marcar
(verdadeira) ou
(falsa) cinco afirmações. Vou listar explicitamente cada afirmação que preciso avaliar (sem resolver ainda), para que a gente saiba o que vem a seguir:
-
O número se escreve na base 2 como . -
O número escrito na base 10 é igual a . -
Se o sistema tem exatamente elementos, então é um número ímpar. -
Existe um sistema de ponto flutuante da forma , tal que a soma do seu maior elemento com o menor elemento é . -
Representando-se no sistema tem-se underflow.
A partir do próximo passo eu resolvo cada uma dessas afirmações, mostrando as contas e a teoria necessária passo a passo.
Passo 2
Afirmação 1: converter
(assumo que é em base decimal) para base 2 e comparar com
.
Explicação da técnica (método com potências de
, que é direto e útil na prova): para escrever um inteiro
em base 2, achamos as potências de
menores ou iguais a
e subtraímos sequencialmente (o método “greedy”). Cada potência de
correspondendo ao bit na posição
.
Aplicação com
:
- As potências de
perto de são . Então o maior expoente que cabe é . - Subtraio sucessivamente:
Logo o bit de é . - Segue
: bit de é . -
: bit . -
: bit . -
: bit . -
: bit . -
não cabe em , então bit . -
não cabe, bit . -
cabe: bit . -
agora sobra , bit .
Assim os bits de
até
são
ou seja
Comparando com a afirmação dada
: elas são diferentes. Logo a afirmação é falsa.
Passo 3
Afirmação 2: converter
para base decimal e comparar com
.
Teoria necessária (conversão de fração binária): um número fracionário
vale
onde cada
. Ou seja, o dígito na posição
vale
.
Aplicação para
: temos os dígitos
. Então
Calcule passo a passo (valores decimais):
Somando:
A afirmação afirmava
. Como
, a afirmação é falsa.
Passo 4
Afirmação 3: se o sistema
tem exatamente
elementos, então
é ímpar. Vou mostrar que isso é verdadeiro calculando
.
Teoria (quantos números tem um sistema de ponto flutuante normalizado): supondo que o sistema
use representações normalizadas do tipo
onde
(ou seja, o primeiro dígito não nulo), cada
, e
. Então o número de mantissas possíveis é
(escolha do dígito líder
e dos
dígitos seguintes), o número de expoentes possíveis é
, e há sinais
. Somando também o zero, o total de elementos é
Aplicando ao nosso caso:
,
tem
. Logo
Queremos
. Então
Passos algébricos:
Agora procuramos
inteiro positivo que satisfaça isso. Testando valores pequenos:
-
: (não). -
: . Bingo: é raiz.
Logo
. Como
é ímpar, a afirmação “então
é um número ímpar” é verdadeira. Concluímos que a afirmação 3 é verdadeira.
Passo 5
Afirmação 4: existe
tal que para
a soma do maior elemento
com o menor
seja
. Vou mostrar que isso é impossível.
Primeiro, defino claramente
e
no sentido de números normalizados:
-
Para base
e precisão , a mantissa normalizada máxima (quando todos os dígitos são com primeiro dígito também ) é O maior número representávelusa esse mantissa com o expoente máximo : Podemos também escrever, então -
O menor número positivo normalizado
corresponde à mantissa com o expoente mínimo :
Portanto
Agora raciocínio de impossibilidade: note que
é inteiro positivo. Vamos ver os valores possíveis (alguns exemplos):
- Se
: , então . - Se
: , então . - Se
: , então . - Para
: é um número positivo decrescente, então aumenta e tende a quando . Em todo caso para todo .
Agora compare com o valor pedido:
Esse valor é menor que
, que é o menor possível para
. Logo não existe
tal que
. Portanto a afirmação é falsa.
Passo 6
Afirmação 5: representando
no sistema
tem-se underflow.
Primeiro, defino underflow (no sentido usual de sistemas normalizados): underflow ocorre quando o número (em módulo) é menor que o menor número positivo normalizado representável
(ou menor que o menor denormalizável, dependendo do modelo). Em particular, números grandes positivos como
não podem causar underflow — underflow é quando o número é muito pequeno, perto de zero.
Vou calcular como
aparece em binário e checar se está dentro da gama representável.
Conversão rápida de
para binário:
- Parte inteira
é . - Parte fracionária
é .
Logo
Forma normalizada: mover o ponto para obter mantissa entre
e
:
No sistema
a precisão
significa que a mantissa tem
dígitos no total (o dígito líder
mais
dígitos fracionários). Então a mantissa armazenável é
. A mantissa real desejada é
; ela será arredondada ao formato de
(por exemplo para
se for arredondamento por truncamento, ou possivelmente para
também por arredondamento ao par, dependendo da política). Em qualquer caso, o valor representado será um número finito e normal (provavelmente
ou, se houvesse bits que fizessem arredondar para
, seria
, mas nada disso dá underflow).
Além disso, a faixa de expoentes é
; como
, o expoente
está no limite superior permitido — o número é representável (ou pelo menos arredondável) como normal, não é demasiado pequeno. Portanto não ocorre underflow.
Logo a afirmação é falsa.
Resposta
(F)
(F)
(V)
(F)
(F)
(F)
(V)
(F)
(F)